All rights reserved. No part of this document may be copied, reproduced or translated. It shall not otherwise be recorded, transmitted or
stored in a retrieval system without the prior written consent of Barco.
Changes
Barco provides this manual ’as is’ without warranty of any kind, either expressed or implied, including but not limited to the implied warranties or merchantability and fitness for a particular purpose. Barco may make improvements and/or cha nges to the product(s) and/or the
program(s) described in this publication at any time without notice.
This publication could contain technical inaccuracies or typographical errors. Changes are periodic
publication; these changes are incorporated in new editions of this publication.
The latest edition of Barco manuals can be downloaded from the Barco web site w
h
ttps://www.barco.com/en/signin.
ww.barco.com or from the secured Barco web site
ally made to the information in this
Trademarks
Brand and product names mentioned in this manual may be trademarks, registered trademarks or copyrights of their respective holders.
All brand and product names mentioned in this manual serve as commen ts or examples and are not to be understood as advertising for
the products or their manufacturers.
This document is applicable for the Barco device mentioned on the front page of this document and can
other equipment.
It explains how the com mu nication with the device is accomplished. In order to be able to com municate with this Barco device, the
Barco Projection Protocol, which is explained in detail in the following chapter, must be strictly followed.
Audience & prerequisites
This document is intended for software programmers and sy stem integrators who want to be able to control a Barco device from
their own application. This document expects a basic knowledge of binary math, networking technology and pr ogram ming.
thus not be used on any
R5905746 COMMAND CATALOG 06/01/20143
1. Introduction
4R5905746 COMMAND CATALOG 06/01/2014
2. The Barco Projection Protocol
2. THE BARCO PROJECTION PROTOCOL
Overview
•The Ba rco Projection Protocol explained
•Ethernet communication
•RS232/RS422/USB-B communication
•The command r epresentation in this manual
2.1The Barco Projection Protocol explained
Usage
The Barco Projection Protocol is used for the serial communication with a Barco device. This can be done by the following ways:
•Ethernet
•RS232
•RS422
•USB-B
Structure
Each command is built up from a start byte, device address, request/response, checksum and stop byte (im age 2-1).
Start byteDevice address
1 byte (0xFE)1 byte
Image 2-1
Command structure
•Start byte: used to let the receiver know that a command will follow.
•Device address: when multiple devices (maximum 256) are connected on the sam e physical connection, the device address
is used to specify the device (only for RS232 connections). In case of an Ethernet connection, this s hould be set to 0.
•Request/Response: the actual command bytes.
•Checksum: used to detect if any errors occurred during transmission or reception of the command.
•Stop byte: used to let the receiver know that the end of a command has been reached.
Request /
Response
1..n bytes
ChecksumStop byte
1 byte1 byte (0xFF)
How is the checksum calculated?
The checksum calculation is based on modular arithmetic:
Some bytes cannot be used in a command. If they do appear in the request/response or checksum, they must be converted. The
table below gives an overview.
Byte
0x800x80 0x00
0xFE0x80 0x7E
0xFF0x80 0x7F
After conversion
When a byte sequence from the after conversion co
corresponding byte.
Characters and character strings
Each character is sent as a byte, using the ANSI encoding method.
R5905746 COMMAND CATALOG 06/01/2014
lumn is received, that sequence must be co nverted to the
5
2. The Barco Projection Protocol
Character strings can be formatted in two ways:
•C-style format
An array of one or more characters which is terminated by a NULL character (0x00). The position of the NULL character
determines the length of the string.
Example: ’f’ ’o’ ’o’ ’ ’ ’b’ ’a’ ’r’ 0x00
•Pascal-style format
An array of one or more characters which is started (the first byte) with the length of the string. Therefore, Pascal-style strings
are limited to 255 characters.
Example: 0x07 ’f’ ’o’ ’o’’’’b’’a’’r’
ANSI
American National Standards Institute
Data words
A data word is a value which consists of multiple bytes. Data words are formatted in big endian.
The most significant byte, is the byte with the greatest weight (value).
lsb
The less significant byte, is the byte with the smallest weight (value).
Big endian
When the firstbyteofadatawordisthemsb and the last byte is the lsb, the data word is in big endian.
Negative values
The two’s complement (2-complement) system is used for the representation of negative values.
Acknowledgement (ACK and NACK)
If a c omm and is received, the receiver will check the validity and correctness of the command before processing it. If the command
is understood, the receiver w ill first acknowledge the command before doing the actual processing of the command. An ACK (ACKnowledge) is sent when these conditions are met:
•The command format is correct
•The command and its parameters are valid
•The checksum is correct
When these conditions are not met, a NACK (No t ACK nowledge) is s ent.
ACKNACK
Byte 1
Byte 2
0x000x00
0x060x15
When the sender receives a NACK message, it is up the sender to decide what should happen next: retry sending the command or
discard the comman d.
Acknowledgements are not used in multicast commu nication.
6R5905746 COMMAND CATALOG 06/01/2014
2. The Barco Projection Protocol
Sending and receiving a command
A command which is sent to the device will consist of a request. A command which is received by the client will consist of a response.
Requests must be sent in the Barco Projection Protocol format: each request needs to be structured in the correct way before it is
sent to the device. Responses are also sent in the Barco Projection Protocol format.
Keep in m ind that:
•For Ethernet communication, the Device address must be set to 0.
•A correct Checksum must be generated for the command.
After a request has been sent to the device, the acknowledgement of the request must be read first. After the request has been
acknowledged, the response from the device (if applicable) can be expected.
Example 1: T he client wants to know the type of t he device. It sends the following command: projector type, read. The device will
acknowledge (ACK) the request and then send the response which contains the device type.
(1) projector type, read - request
Client
(2) ACK
Device
(3) projector type, read - response
Image 2-2
Example 1
Example 2: T he client sends an unknown command. The device doesn’t recogn
ize the command and sends a NACK.
(1) unknown command
Client
Device
(2) NACK
Image 2-3
Example 2
How to handle failing communication?
When a sender fails to send a command, or a receiver fails to return the expected response (ACK, NACK or response), some steps
must be followed to hand le this failing communication.
There are 2 possible failures:
•Communication link problems: if the sending of the com ma nds itself doesn’t work, it will be because the communication is
broken (e.g. the receiver is disconnected from the network).
•Answer back problems: when commands ca n be sent out but no r esponse is sent back, it means that the communication link
is OK but the rec eiver is unable to answer back.
Each type of failure needs another way of handling.
Handling communication link problems
As communication link problems will most likely have a physical reason (cable disconnected, hub down, device dow n, …), the user
must be notified and must be asked for his feedback. In most cases there will be a user intervention needed to correct this problem
(connect the cable, reboot the hub, res tart the device, …).
The actual implementation of this should be described in the specifications of the application.
Handling answer back problems
Answer back problems should be addressed in another way. When a receiver fails to answer back it might be that it is currently too
busy to answer back. The application software should im plement some simple mechanisms to avoid problems when this occurs:
1.Timeout waiting: the application should wait for a limited amount of time for an answer (e.g. max 10 seconds). This ensures
that the application can react when a command doesn’t get answered in time.
2.Retry waiting: if the timeout expires, one can retry waiting for the answer. By doing this, the user has the opportunity to cancel
the action. If needed, the retry can even be repeated several times.
3.Retry sending: when a command does not get a nswered after the timout waiting and retry waiting, the command is considered
to be lost in action and the application s
This m echanis m follows the sequence of the steps: first the timeout waiting is used, then the retry waiting and finally the r etry
sending. If all of these steps fail, there might be a major problem with the receiver. In this case the user should be notified of these
problems so that he can check the status of the receiver.
hould send the command again.
R5905746 COMMAND CATALOG 06/01/2014
7
2. The Barco Projection Protocol
2.2Ethernet communication
Introduction
The communication follows a c lient/server model where the device is the server. T his means that the device responds on requests
that are sent by a client. The device will not send out messages on its own initiative.
The communication is blocking which means that when a request is sent to the device, no other requests can be sent until the device
has responded on the first request. The communication blocks for each request.
The connector used for the Ethernet ports are of rugged Neutrik EtherCon RJ45 type, which is compatible with
standard RJ45 cable connector. Straight (most common) as well as cross linked network cables can be used.
10/100 Base-T — RJ45 port
PinDescription
1TXD+
2TXD-
3RXD+
4
5
6RXD-
7
8
—
—
—
—
Making connection with the device
The device is listening on TCP port 0xAAA0 (4 3680) for incoming connections. The IP address can be retrieved using the local user
interface or on the O SD menu of the de vice.
Device discovery
It is possible to discover all the devices on the network using a UDP broadcas t. A UDP broadcast only works on IP networks and
requires a special socket connection: the datagram connection.
Device 1
Device 2
Client
LAN
Device n
Image 2-4
To discover the devices, send a datagram packet to the broadcast address 255.255.255.255 on port 0xA001.
The packet should contain 1 byte: 0x3F, which represents the char acter ‘?’.
All the devices that support UDP broadcast discovery, will answer on the request by sending an array of (C-language) strings on the
same socket. Each string represents a key-value pair with specific information about the device that has been discovered.
8
R5905746 COMMAND CATALOG 06/01/2014
2. The Barco Projection Protocol
Typically, the following strings will be returned:
•hostname=value; the hostname of the device
•ip-address=value; the IP address of the device
•mac-address=value; the MAC address of the NIC on the device
•type=value; the device type (not for DP90/DP100 projectors)
Remarks:
•The broadcast does not follow the typical Barco Projection Protocol formatting: the request is just one byte (not marked up
as Barco Projection Protocol command) and the devices answer back without sending an ACK and without formatting their
response in the Barco P rojection Protocol format.
•The size of the array is undetermined, but in most cases it w ill contain 4 strings. However, this is open to future expansion, so
more strings can b e added later.
•The strings normally appear in this order: hostname, ip-address, mac-address and type, but this cannot be guaranteed.
The used broadcast is a limited broadcast. This means that the broadcast message is transmitted to all NIC’s
which are on the same IP segment as the client. This type of broadcast is not forwarded by routers so it will
not detect devices which are o n another segment.
NIC
Network Interface Card
2.3RS232/RS422/USB-B communication
RS232
An Electronic Industries Association (EIA) serial digital interface standard specifying the characteristics of the communication path between two devices using either D-SUB 9 pins or D-SUB 25 pins connectors. This standard is used for
relatively short-range communications and does not specify balanced control lines. RS-232 is a serial control standard
with a set number of conductors, data rate, wor d length and type of connector to be used. The standard specifi es component connection standards with regard to computer interface. It is also called RS-232-C, which is the third version
of the RS -232 standard, and is functionally identical to the CCITT V.24 standard. Logical ’0’ is > + 3V, Logical ’1’ is < 3V. The range between -3V and +3V is the transition zone.
RS422
An EIA serial digital interface standard that specifies the e lectrical characteristics of balanced (differential) voltage,
digital interface circuits. This standard is usable o ver longer distances than RS-232. This signal governs the asynchronous transmission of computer data at speeds of up to 920,000 bits per second. It is also used as the serial port
standard for Macintosh computers. When the difference between the 2 lines is < - 0.2V that equals with a logical ’0’.
When the difference is > +0.2V that equals to a logical ’1’..
Settings
Baud rate:Defines the speed of the data transfer. T he baud rate can be set using the local user interface on the device. Consult
the user manual of the device for more detailed information.
Data bits: Eight (8) data bits are used for each character of the data transfer.
Parity: There is no parity bit used to perform error checking.
Stop bit: One (1) stop bit is used to define the end of a character.
Hardware
PinDescription
1
DCD : Data Carrier Detect
2RXD-:ReceiveData
3TXD- : Transmitted Data
4
DTR : Data Terminal Ready [RS232]
TXD+ : Transmitted Data [RS422]
R5905746 COMMAND CATALOG 06/01/2014
RS232/422 input (Sub-D) port
9
2. The Barco Projection Protocol
RS232/422 input (Sub-D) port
PinDescription
5
GND : G round
6
DSR : Data Set Ready [RS232]
RXD+ : Received Data [RS422]
7
— (not connected) —
8
CTS : Clear To Send
9RI : Ring In dicator
2.4The command representation in this manual
About the command representation in this manual
•Title: The title of a command is built up from its function (e.g. network settings), followed by its type (e.g. read).
•Description: A general description of the command is given in the About this command section.
•Request/Response table: Each row in the request/response table represents a datafield. A datafield contains 1 or more values.
a) Pos: The position of the datafield. When the size of the datafield is greater than 1, the datafield will take more than 1 position.
b) Size: The number of values the datafield must contain. This can be different from the total number of available values,
dependent on the v alue groups.
c) Name: The name o f the datafield.
d) Description: The description of the datafield.
e) Content: The value(s) of the datafield. This column consists of the value itself, and a value description. Every value is
displayed in a separate row. A datafield can have different value groups.
Different value groups can be distinguished as follows:
- If consecutive rows have different background colors, the values belong to another group.
- If they have the same background color, the values belong to the same group.
Only 1 value group per datafield may be choosen to be used in the command. All the values of a
together and in the same order.
Example: the datafield below contains 2 IP addresses. O nly 1 of the 2 IP-addresses may be choosen in the command. The values
of the IP-addresses must stay in the same order.
value group must appear
Pos
0-34IP-address
Tabl e 2-5
Example
Size
NameDescription
This is the IP-address datafield.
192
168
1
1
192
168
1
2
Content
IP-address 1, value 1 (dec)
IP-address 1, value 2 (dec)
IP-address 1, value 3 (dec)
IP-address 1, value 4 (dec)
IP-address 2, value 1 (dec)
IP-address 2, value 2 (dec)
IP-address 2, value 3 (dec)
IP-address 2, value 4 (dec)
10R5905746 COMMAND CATALOG 06/01/2014
3. COMMANDS
3.1decrement noise reduction, write
About this command
This command decrements the noise reduction by one.
Request
Pos
Size
01dec adjbyte value known as "dec adj"
11adj noise reduction
3.2get about info, read
About this command
This command gets the "about" info of the projector.