barco clm hd 6 rs232 code

31
The Barco CLM W6 / HD6 Protocol Basics Command basics Command baud rate Baud Rate 115200 (default)/ 19200 / 9600 (OSD setting) Data Bits 8 Parity None Stop Bits 1 Flow Control None UART16550 FIFO Disable Command structure Each command is packaged in this structure: 0xFE 0x00 PREFIX CMD DATA CHK 0xFF Start byte (1 byte) Device address (1 byte) Prefix (0..n bytes) Command (1..n bytes) Data (0..n bytes) Checksum (1 byte) Stop byte (1 byte) Explanation: The start and stop byte are used to let te receiver know that a command is starting or has stopped. Device address is used when multiple devices are connected on the same physical connection. This is typically used with serial connections. In case of Ethernet connections this is either ignored, or should be set to a fixed value, depending on the protocol. Prefix bytes: for some special commands it is possible to use prefix bytes before the actual command bytes. It depends on the actual protocol implementation which prefixes are available and when they can be used. Command bytes: there will be at least one byte per command. The command bytes actually tell the device what to do. Data bytes: this is optional and depends on the command that will be sent. See also “Data byte” chapter.

Upload: faruk604

Post on 28-Apr-2015

57 views

Category:

Documents


0 download

DESCRIPTION

Katalog

TRANSCRIPT

Page 1: Barco Clm Hd 6 Rs232 Code

The Barco CLM W6 / HD6 Protocol Basics

Command basics

Command baud rate

Baud Rate 115200 (default)/ 19200 / 9600 (OSD setting)

Data Bits 8

Parity None

Stop Bits 1

Flow Control None

UART16550 FIFO Disable

Command structure

Each command is packaged in this structure:

0xFE 0x00 PREFIX CMD DATA CHK 0xFF

Start byte

(1 byte)

Device address

(1 byte)

Prefix (0..n

bytes)

Command

(1..n bytes)

Data (0..n

bytes)

Checksum

(1 byte)

Stop byte

(1 byte)

Explanation:

The start and stop byte are used to let te receiver know that a command is starting or has stopped.

Device address is used when multiple devices are connected on the same physical connection. This is

typically used with serial connections. In case of Ethernet connections this is either ignored, or should be set

to a fixed value, depending on the protocol.

Prefix bytes: for some special commands it is possible to use prefix bytes before the actual command bytes.

It depends on the actual protocol implementation which prefixes are available and when they can be used.

Command bytes: there will be at least one byte per command. The command bytes actually tell the device

what to do.

Data bytes: this is optional and depends on the command that will be sent. See also “Data byte” chapter.

Page 2: Barco Clm Hd 6 Rs232 Code

Checksum byte: this byte is used to detect errors in the transmission or reception of the command. For more

information, see the “Checksum” chapter.

IMPORTANT NOTE

Any comm Any command byte, data byte or checksum byte that equals 0x80, 0xFE or 0xFF, has

to be marked up with a leading 0x80:

Byte to send: Actual mark up of the byte to send:

Byte to send Actual mark-up of

the byte to send

0x80 0x80 0x00

0xFE 0x80 0x7E

0xFF 0x80 0x7F

Data bytes

Characters: we will be using ANSI coding for characters (1 byte per character).

Strings: strings can be formatted in two ways:

o 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.

Exmaple: 'f' 'o' 'o' ' ' 'b' 'a' 'r' 0x00

o Pascal-style format: an array of one or more characters. The first byte of the string indicates the length of the

string. Therefore pascal-style strings are limited to 255 characters.

Example: 0x07 'f' 'o' 'o' ' ' 'b' 'a' r'

Multi-byte values: a multi-byte value consists of more than one byte. The first byte is the Most Significant

Byte (MSB).

Example of a 4-byte value: 0x01 0x20 0x50 0x30 = 0x01 * 2563 + 0x20 * 2562 + 0x50 * 256 + 0x30 =

536956976.

Page 3: Barco Clm Hd 6 Rs232 Code

Checksum

The checksum value for a command is calculated by doing a modulo 256 on the sum of the byet values of all

bytes between start of the command and the checksum byte

Checksum calculation

yte = (Device address + Prefix bytes + Command bytes + Data bytes) mod 256

Acknowledgement

ACK and NACK

When a command is received, the command format and checksum should be checked. For our application, the

device address should be ignored. If there's an error in the command bytes or the checksum, the command

should be ignored.

If the command is a valid command, the receiver should answer back with an acknowledgement before starting

the processing of the command. If the command is not valid, the receiver should answer with a no acknowledge.

ACK (ACKnowledge)

Command[0] 0x00

Command[1] 0x06

An ACK is sent in these cases:

The command bytes are correct (checksum is OK)

The command and its parameters are valid

If one of these fail, an NACK will be returned.

NACK (Not ACKnowledge)

Command[0] 0x00

Page 4: Barco Clm Hd 6 Rs232 Code

Command[1] 0x15

Example

Start byte 0xFE

Device

address: 0x00

Command[0] 0x00

Command[1] 0x15

Checksum 0x15

Stop byte 0xFF

Handling of no acknowldge (NACK)

When a command doesn't get acknowledged, it is up to the sender to decide what should happen with the

command: retry sending the command again or discard the command. The decision is mainly based on the type

of command and the situation it is used.

IMPORTANT NOTE

communication, an acknowledge must always be returned by the receiver for each correct and valid

receives, before processing the command and replying on the command.

edge does not count as a reply on the execution of the command.

t communication, acknowledgments are not used

Page 5: Barco Clm Hd 6 Rs232 Code

Command responses

Replying commands

A lot of commands that can be send out, do not only return a ACK or NACK, but may also return a reponse or

reply. This reply will be sent after processing the command. The answer will have the same command bytes as

the request, but typically the data bytes will contain the response information. It depends on the protocol

implementation whether a command requires a reply or not. This will be defined per command in the protocol.

Example:

When requesting a projector's type, you should use the command 0x6b (projector, read type). In answer, the

projector will return a string containing the actual type of the device:

Request:

Start byte 0xFE

Device

address: 0x00

Command[0] 0x6b

Checksum 0x6b

Stop byte 0xFF

Acknowledge:

Start byte 0xFE

Device

address: 0x00

Command[0] 0x00

Command[1] 0x06

Checksum 0x06

Stop byte 0xFF

Page 6: Barco Clm Hd 6 Rs232 Code

Reply:

Start byte 0xFE

Device

address: 0x00

Command[0] 0x6b

Data[0] 0x42 = 'B'

Data[1] 0x41 = 'A'

Data[2] 0x52 = 'R'

Data[3] 0x43 = 'C'

Data[4] 0x4f = 'O'

Data[5] 0x20 = ' '

Data[6] 0x46 = 'F'

Data[7] 0x4c = 'L'

Data[8] 0x4d = 'M'

Data[9] 0x20 = ' '

Data[10] 0x48 = 'H'

Data[11] 0x31 = '1'

Data[12] 0x38 = '8'

Data[13] 0x00

Checksum 0x03

Stop byte 0xFF

Page 7: Barco Clm Hd 6 Rs232 Code

Handling of failing responses

When a receiver fails to return the expected response (acknowledge or reply) on a command, we need to follow

some steps to handle this failing communication.

There are 2 possible failures:

1. Communication link problems: If the sending of the commands itself doesn't work, it will be because the

communication is broken (f.i. the receiver as disconnected from the network).

2. Answer back problems: when commands can be sent out but no response is sent back, it means that the

communication link is OK but the receiver 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,

projector down, …), we need to notify the user and ask him for his feedback. In most cases there will be a user

intervention needed to correct this problem (connect the cable, reboot the hub, restart the projector, …).

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 implement 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 (f.i. 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, we 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 answered after the timout waiting and retry waiting, the

command is considered to be lost in action and the application should send the command again.

This mechanism follows the sequence of the steps: first the timeout waiting is used, then the retry waiting and

finally the retry sending. If all of these steps fail, there might be a major problem with the receiver in in this

case we should notify the user of these problems so that he can check the status of the receiver.

Page 8: Barco Clm Hd 6 Rs232 Code

Table of contents

Standby

Available Function

Command (exclude Start

byte, Device address,

Checksum and Stop byte)

Return Note

V Answer 0x00, 0x03, Data[0] 0x00, 0x03,

Data[1]

Data[0]:

bit0 =0

bit1 =1 return with success after the

command has been executed

bit2 =0

bit3 =0

bit4 =0

bit5 =0

bit6 =0

bit7 =0

Data[1]:

0x01 for success

0x00 for no success

V Acknowledge 0x00, 0x06

V No acknowledge 0x00, 0x15

Page 9: Barco Clm Hd 6 Rs232 Code

X P7 mcgd, Read 0x00, 0xC2 0x00, 0xC2,

Data[0..n]

X P7 mcgd, write 0x00, 0xC2, Data[0..n]

Data[0] RedX MSB

Data[1] RedX LSB

Data[2] RedY MSB

Data[3] RedY LSB

Data[4] GreenX MSB

Data[5] GreenX LSB

Data[6] GreenY MSB

Data[7] GreenY LSB

Data[8] BlueX MSB

Data[9] BlueX LSB

Data[10] BlueY MSB

Data[11] BlueY LSB

Data[12] WhiteX MSB

Data[13] WhiteX LSB

Data[14] WhiteY MSB

Data[15] WhiteY LSB

Data[16] BlackX MSB

Data[17] BlackX LSB

Data[18] BlackY MSB

Data[19] BlackY LSB

Data[20] Contrast MSB

Data[21] Contrast LSB

Data[22] Red Y Luminance MSB

Data[23] Red Y Luminance LSB

Data[24] Green Y Luminance MSB

Data[25] Green Y Luminance LSB

Data[26] Blue Y Luminance MSB

Data[27] Blue Y Luminance LSB

Data[28] White Y Luminance MSB

Data[29] White Y Luminance LSB

Page 10: Barco Clm Hd 6 Rs232 Code

Data[30] AX MSB (for DDP3020F)

Data[31] AX LSB (for DDP3020F)

Data[32] AY MSB (for DDP3020F)

Data[33] AY LSB (for DDP3020F)

Data[34] BX MSB (for DDP3020F)

Data[35] BX LSB (for DDP3020F)

Data[36] BY MSB (for DDP3020F)

Data[37] BY LSB (for DDP3020F)

Data[38] CX MSB (for DDP3020F)

Data[39] CX LSB (for DDP3020F)

Data[40] CY MSB (for DDP3020F)

Data[41] CY LSB (for DDP3020F)

Data[42] DX MSB (for DDP3020F)

Data[43] DX LSB (for DDP3020F)

Data[44] DY MSB (for DDP3020F)

Data[45] DY LSB (for DDP3020F)

Data[46] A Y Luminance MSB (for

DDP3020F)

Data[47] A Y Luminance LSB

(for DDP3020F)

Data[48] B Y Luminance MSB

(for DDP3020F)

Data[49] B Y Luminance LSB

(for DDP3020F)

Data[50] C Y Luminance MSB

(for DDP3020F)

Data[51] C Y Luminance LSB

(for DDP3020F)

Data[52] D Y Luminance MSB

(for DDP3020F)

Data[53] D Y Luminance LSB

(for DDP3020F)

Page 11: Barco Clm Hd 6 Rs232 Code

Note for all values except contrast:

These are floating point values sent as

words.

Word value = floating point value *

10000.

Example: Real RedX = 0.1234; Word

to send for RedX = 1234

X Text, write to on 0x0d

X Text, write to off 0x0e

X Contrast, write 0x20, 0x01, Data[0]

X Contrast, read 0x21,0x01 0x21, 0x01,

Data[0]

Data [0] = Contrast value.

X Brightness, write 0x20, 0x02, Data[0]

X Brightness, read 0x21,0x02 0x21, 0x02,

Data[0]

Data [0] = Brightness value.

X Saturation, write 0x20, 0x03, Data[0]

X Saturation, read 0x21,0x03 0x21, 0x03,

Data[0]

Data [0] = Saturation value.

X Tint, write 0x20, 0x04, Data[0]

X Tint, read 0x21, 0x04 0x21, 0x04,

Data[0]

Data [0] = Tint value.

X Sharpness, write 0x20, 0x05, Data[0]

X Sharpness, read 0x21, 0x05 0x21, 0x05,

Data[0]

Data [0] = Sharpness value.

OSD range: -7 ~ +8 mapping to

Data [0] range: 0 ~ 15.

X Phase, write 0x20, 0x06, Data[0]

X Phase, read 0x21, 0x06 0x21, 0x06,

Data[0]

Data [0] = Phase value.

OSD range: -32 ~ +32 mapping to

Data [0] range: 0 ~ 64.

X Aspect ratio, write 0x20, 0x0b, 0xc0, Data[0]

Data [0]: Aspect Ratio

0x00: 5:4

0x01: 4:3

0x02: 16:10

Page 12: Barco Clm Hd 6 Rs232 Code

X Aspect ratio, read 0x21, 0x0b, 0xc0 0x21, 0x0b,

0xc0, Data[0]

0x03: 16:9

0x04: 1.88

0x05: 2.35

0x06: Native

0x07: Unscaled

X Aspect ratio width,

read 0x21, 0x0b, 0xc1

0x21, 0x0b,

0xc1, Data[0..3]

Data[0..3] aspect ratio width as a

DWORD

X Aspect ratio height,

read 0x21, 0x0b, 0xc2

0x21, 0x0b,

0xc2, Data[0..3]

Data[0..3] aspect ratio height as a

DWORD

X Lamp dimming,

write 0x20, 0x0d, Data[0]

X Lamp dimming,

read 0x21, 0x0d

0x21, 0x0d,

Data[0]

Data[0]:

0x00 85%

0x01 87.5%

0x02 90%

0x03 92.5%

0x04 95%

0x05 97.5%

0x06 100%

X H Total, write 0x20, 0x10, Data[0]

X H Total, read 0x21, 0x10 0x21, 0x10,

Data[0]

Data [0] = H Total.

OSD range: -127 ~ +127 mapping to

Data [0] range: 0 ~ 254.

X H Start, write 0x20, 0x11, Data[0]

X H Start, read 0x21, 0x11, 0x21, 0x11,

Data[0]

Data [0] = H Start

OSD range: -127 ~ +127 mapping to

Data [0] range: 0 ~ 254.

X V Start, write 0x20, 0x12, Data[0]

X V Start, read 0x21, 0x12, 0x21, 0x12,

Data[0]

Data [0] = V Start

OSD range: -127 ~ +127 mapping to

Data [0] range: 0 ~ 254.

X Film mode, write 0x20, 0x13, Data[0]

X Film mode, read 0x21, 0x13 0x21, 0x13,

Data[0]

Data[0]: Film mode

0x00: OFF

0x01: ON

X Format, write 0x20, 0x14, Data[0] Data[0]: Format

Page 13: Barco Clm Hd 6 Rs232 Code

X Format, read 0x21, 0x14 0x21, 0x14,

Data[0]

0x00: YUV

0x01: RGB

0x02: AUTO

X Display mode,

write 0x20, 0x15, Data[0]

X Display mode, read 0x21, 0x15 0x21, 0x15,

Data[0]

Data[0]: Display mode

0x00: Presentation

0x01: Video

0x02: Bright

X Shutter (pause),

read 0x21, 0x42

0x21, 0x42,

Data[0] Data [0] = 0 for open and 1 for close.

X Shutter (pause),

write to open 0x22, 0x42, 0x00

X Shutter (pause),

write to close 0x23, 0x42, 0x00

X Color temperature,

write 0x20, 0x45, Data[0]

X Color temperature,

read 0x21, 0x45

0x21, 0x45,

Data[0]

Data [0]: Color Temp.

0x00: 3200.

0x01: 5400.

0x02: 6500.

0x03: 8800.

0x04: Native.

X Input black

balance, write 0x20, 0x6e, Color, Data[0]

X Input black

balance, read 0x21, 0x6e, Color

0x21, 0x6e,

Color, Data[0]

X Input white

balance, write 0x20, 0x6f, Color, Data[0]

X Input white

balance, read 0x21, 0x6f, Color

0x21, 0x6f,

Color, Data[0]

Color: 0x00 for red

0x01 for green

0x02 for blue

Data [0] = value as BYTE.

OSD range: -127 ~ +127 mapping to

Data [0] range: 0 ~ 254.

X Gamma, write 0x20, 0x70, Data[0]

Data [0] = gamma value as BYTE.

0x00 1.3

0x01 1.6

0x02 1.8

Page 14: Barco Clm Hd 6 Rs232 Code

X Gamma, read 0x21, 0x70 0x21, 0x70,

Data[0]

0x03 2.0

0x04 2.2

0x05 2.4

0x06 2.6

0x07 2.8

X Noise reduction,

write 0x20, 0x73, Data[0]

X Noise reduction,

read 0x21, 0x73

0x21, 0x73,

Data[0]

Data [0] = noise reduction value.

(ranges from 0 to 32)

X Noise reduction,

increment 0x22, 0x73

X Noise reduction,

decrement 0x23, 0x73

X No signal color,

write 0x20, 0x7b, Data[0]

X No signal color,

read 0x21, 0x7b

0x21, 0x7b,

Data[0]

Data[0]: background color

0x01 for logo,

0x02 for blue,

0x03 for black,

0x04 for white,

0x05 for snapshot

X P7 status, write 0x20, 0x97, 0x04, Data[0]

Data [0]: Color Space.

0x00: Native.

0x01: Custom.

Page 15: Barco Clm Hd 6 Rs232 Code

X P7 tcgd, read (1) 0x21, 0x97, 0x00, 0x00

0x21, 0x97,

0x00, 0x00,

Data[0..n]

Data[0] 0x00

Data[1] RedX MSB

Data[2] RedX LSB

Data[3] RedY MSB

Data[4] RedY LSB

Data[5] 0

Data[6] 0

Data[7] GreenX MSB

Data[8] GreenX LSB

Data[9] GreenY MSB

Data[10] GreenY LSB

Data[11] 0

Data[12] 0

Data[13] BlueX MSB

Data[14] BlueX LSB

Data[15] BlueY MSB

Data[16] BlueY LSB

Data[17] 0

Data[18] 0

Data[19] MagentaX

MSB

Data[20] MagentaX LSB

Data[21] MagentaY

MSB

Data[22] MagentaY LSB

Data[23] 0

Data[24] 0

Data[25] CyanX MSB

Data[26] CyanX LSB

Data[27] CyanY MSB

Data[28] CyanY LSB

Page 16: Barco Clm Hd 6 Rs232 Code

Data[29] 0

Data[30] 0

Data[31] YellowX MSB

Data[32] YellowX LSB

Data[33] YellowY MSB

Data[34] YellowY LSB

Data[35] 0

Data[36] 0

Data[37] WhiteX MSB

Data[38] WhiteX LSB

Data[39] WhiteY MSB

Data[40] WhiteY LSB

These are floating point values read as

words.

Word value = floating point value *

10000.

Example: Real RedX = 0.1234; Word

read for RedX = 1234

Page 17: Barco Clm Hd 6 Rs232 Code

X P7 tcgd, write (1) 0x20, 0x97, 0x00, 0x00,

Data[0..n]

Data[0] RedX MSB

Data[1] RedX LSB

Data[2] RedY MSB

Data[3] RedY LSB

Data[4] 0

Data[5] 0

Data[6] GreenX MSB

Data[7] GreenX LSB

Data[8] GreenY MSB

Data[9] GreenY LSB

Data[10] 0

Data[11] 0

Data[12] BlueX MSB

Data[13] BlueX LSB

Data[14] BlueY MSB

Data[15] BlueY LSB

Data[16] 0

Data[17] 0

Data[18] WhiteX MSB

Data[19] WhiteX LSB

Data[20] WhiteY MSB

Data[21] WhiteY LSB

These are floating point values read as

words.

Word value = floating point value *

10000.

Example: Real RedX = 0.1234; Word

read for RedX = 1234

Page 18: Barco Clm Hd 6 Rs232 Code

X P7 tcgd, read (3) 0x21, 0x97, 0x00, index

0x21, 0x97,

0x00, index,

Data[0..1]

Index:

0x01 RedX

0x02 RedY

0x04 GreenX

0x05 GreenY

0x07 BlueX

0x08 BlueY

0x0a Magenta

X

0x0b Magenta

Y

0x0d CyanX

0x0e CyanY

0x10 YellowX

0x11 YellowY

0x13 WhiteX

0x14 WhiteY

Data[0..1] : value as WORD

These are floating point values read as

words.

Word value = floating point value *

10000.

Example: Real RedX = 0.1234; Word

read for RedX = 1234

X P7 tcgd, write (3) 0x20, 0x97, 0x00, index,

Data[0..1]

Index:

0x01 RedX

0x02 RedY

0x04 GreenX

0x05 GreenY

0x07 BlueX

Page 19: Barco Clm Hd 6 Rs232 Code

0x08 BlueY

0x0A WhiteX

0x0B WhiteY

Data[0..1] : value as WORD

These are floating point values read as

words.

Word value = floating point value *

10000.

Example: Real RedX = 0.1234; Word

read for RedX = 1234

X P7 status, read 0x21, 0x97, 0x04 0x21, 0x97,

0x04, Data[0]

Data [0]: Color Space.

0x00: Native.

0x01: Custom.

X Lamp powermode,

write 0x20, 0x98, Data[0]

X Lamp powermode,

read 0x21, 0x98

0x21, 0x98,

Data[0]

Data[0]: lamp power mode

0x01 for normal,

0x02 for economic,

0x06 for power

X Reset Warp 0x20, 0xa0, 0x00

X Vertical keystone

warping, write 0x20, 0xa1, 0x01, Data[0..1]

X Vertical keystone

warping, read 0x21, 0xa1, 0x01

0x21, 0xa1,

0x01, Data[0..1]

X

Horizontal

keystone warping,

write

0x20, 0xa1, 0x02, Data[0..1]

X

Horizontal

keystone warping,

read

0x21, 0xa1, 0x02 0x21, 0xa1,

0x02, Data[0..1]

Data [0] = MSB of value.

Data [1] = LSB of value.

OSD range: -60 ~ +60 mapping to

Data [0, 1] range: 0 ~ 120.

X BarrelPinchusion,

Write 0x20, 0xa1, 0x04, Data[0..1]

X BarrelPinchusion,

Read 0x21, 0xa1, 0x04

0x21, 0xa1,

0x04, Data[0..1]

Data [0] = MSB of value.

Data [1] = LSB of value.

OSD range: -127 ~ +127 mapping

to Data [0, 1] range: 0 ~ 254.

Page 20: Barco Clm Hd 6 Rs232 Code

X BarrelPinchusion

Vertical, Write 0x20, 0xa1, 0x08, Data[0..1]

X BarrelPinchusion

Vertical, Read 0x21, 0xa1, 0x08

0x21, 0xa1,

0x08, Data[0..1]

X BarrelPinchusion

Horizontal, Write 0x20, 0xa1, 0x09, Data[0..1]

X BarrelPinchusion

Horizontal, Read 0x21, 0xa1, 0x09

0x21, 0xa1,

0x09, Data[0..1]

X Rear, Write 0x20, 0xa2, Data[0]

X Rear, Read 0x21, 0xa2 0x21, 0xa2,

Data[0]

Data[0]: Rear

0x00: OFF

0x01: ON

X Ceiling, Write 0x20, 0xa3, Data[0]

X Ceiling, Read 0x21, 0xa3 0x21, 0xa3,

Data[0]

Data[0]: Celilng

0x00: OFF

0x01: ON

X Frame rate, write 0x20, 0xa4, Data[0]

X Frame rate, read 0x21, 0xa4 0x21, 0xa4,

Data[0]

Data[0]: Frame rate

0x00 for Auto,

0x01 for 50Hz

0x02 for 60Hz

X Video standard,

write 0x20, 0xa5, Data[0]

X Video standard,

read 0x21, 0xa5

0x21, 0xa5,

Data[0]

Data[0]: Video standard

0x00 for Auto,

0x01 for NTSC,

0x02 for PAL

X Auto Power Off,

write 0x20, 0xa6, Data[0]

X Auto Power Off,

read 0x21, 0xa6

0x21, 0xa6,

Data[0]

Data[0]: Auto Power Off

0x00: OFF

0x01: ON

X Auto Power On,

write 0x20, 0xa7, Data[0]

X Auto Power On,

read 0x21, 0xa7

0x21, 0xa7,

Data[0]

Data[0]: Auto Power On

0x00: OFF

0x01: ON

X A image adjust,

write 0x20, 0xa8, Data[0]

Data[0]: A image adjust

0x00: OFF

Page 21: Barco Clm Hd 6 Rs232 Code

X A image adjust,

read 0x21, 0xa8

0x21, 0xa8,

Data[0]

0x01: Always

0x02: Auto

X Up, IR commands 0x30, 0x04

X Down, IR

commands 0x30, 0x05

X Right, IR

commands 0x30, 0x06

X Left, IR commands 0x30, 0x07

X Menu, IR

commands 0x30, 0x0A

X Enter, IR

commands 0x30, 0x0B

X Freeze, IR

commands 0x30, 0x1B

X PIP, IR commands 0x30, 0x58

X Swap, IR

commands 0x30, 0x68

X Auto image, IR

commands 0x30, 0x69

X Lens, IR

commands 0x30, 0x81

X Aspect ratio, IR

commands 0x30, 0x82

X Contrast, IR

commands 0x30, 0x83

X Brightness, IR

commands 0x30, 0x84

X Sharpness, IR

commands 0x30, 0x85

X Phase, IR

commands 0x30, 0x86

X Color, IR

commands 0x30, 0x87

X Tint, IR commands 0x30, 0x88

Page 22: Barco Clm Hd 6 Rs232 Code

X Address, IR

commands 0x30, 0x89

X Pause, IR

commands 0x30, 0x8A

X Text, IR commands 0x30, 0x8B

X Settings, reset to

factory 0x31

X Input selection,

write 0x33, Data[0]

X Input selection,

read 0x34 0x34, Data[0]

Data[0]: the input slot number

1 for HDMI 1,

2 for HDMI 2,

3 for VGA 1,

4 for VGA 2,

5 for RGB,

6 for YUV,

7 for S-Video,

8 for Video.

X

UDP broadcast

discovery (network

only)

0x3F

Hostname,

ip-address,

mac-address,

type

All the projectors that support UDP

broadcast discovery, will answer on

the request by sending an array of

(C-language) strings. Each string is

represents a key-value pair with

specific information about the

projector that has been discovered.

Typically, following strings will be

returned:

hostname=value: the hostname

of the projector

ip-address=value: the IP

address of the projector

mac-address=value: the MAC

address of the NIC on the

projector

type=value: the projector type

Page 23: Barco Clm Hd 6 Rs232 Code

X Internal pattern,

write 0x41, Data[0]

Data [0]: the internal pattern number.

0x44 ramp blue

0x43 ramp green

0x42 ramp red

0x41 ramp bw

0x19 Checkerboard

0x04 Hatch

0x38 cyan

0x37 magenta

0x36 yellow

0x35 black

0x34 white

0x33 blue

0x32 green

0x31 red

0x00 Off (no pattern)

X Internal pattern,

read 0x42 Data[0]

Data [0]: the internal pattern number.

0x44 ramp blue

0x43 ramp green

0x42 ramp red

0x41 ramp bw

0x19 Checkerboard

0x04 Hatch

0x38 cyan

0x37 magenta

0x36 yellow

0x35 black

0x34 white

0x33 blue

0x32 green

0x31 red

0x00 Off (no pattern)

Page 24: Barco Clm Hd 6 Rs232 Code

V Writes lamp

selection 0x58, data[0]

data[0] = lamp status value

0x00 = OFF

0x01 = Single

0x02 = Dual

0x03 = Auto

X White peaking,

write

0x58(prefixed), 0x20, 0x40,

Data[0]

X White peaking,

read 0x58(prefixed), 0x21, 0x40 Data[0]

Data[0] = white peaking value (ranges

from 0 to 10)

X Color wheel index,

write

0x58(prefixed), 0x20, 0x41,

Data[0, 1]

X Color wheel index,

read 0x58(prefixed), 0x21, 0x41 Data[0, 1]

Data[0] = MSB of color wheel index

Data[1] = LSB of color wheel index

V Versions, read

(clm)

0x60, from data index, to

data index

0x60, from data

index, to data

index, Data [0..n]

index table:

0x00 PW392

0x04 DDP302X

0x08 PIC

0x0C Lan Module

0x10 Waveform

0x14 EDID

Each version set consists of 4 bytes

byte[0,1] version major number

(A,B,C,…)

byte[2,3] build number

V Standby check,

read 0x67, 0x01 Data[0]

Data [0]: standby check

0x00 for standby

0x01 for projector on.

X Text, read 0x67, 0x02 Data[0] Data [0] = 0 for off and 1 for on.

V Lamp status, read 0x67, 0x40 Data[0]

Data[0] = lamp status

0x00 = lamp(s) are off,

0x01 = lamp(s) are on

V Lamp setting, write 0x68, 0x40, Data[0]

V Lamp setting, read 0x68, 0x41 Data[0]

Data[0] = lamp setting

0x01 = single

0x02 = dual

Page 25: Barco Clm Hd 6 Rs232 Code

X High Altitude,

write 0x69, 0x40, Data[0]

X High Altitude, read 0x69, 0x41 Data[0]

Data[0] = High Altitude

0x00: OFF

0x01: ON

V Lamp max runtime,

read 0x76, 0x89, Data[0] Data1[0..3]

Data[0] = lamp number (1=lamp 1,

2=lamp 2, ...)

Data1[0..3] = the maximum lamp

runtime (in seconds)

V Lamp runtime, read 0x76, 0x90, Data[0] Data[0],

Data[1..4]

Data[0] = lamp number (1=lamp 1,

2=lamp 2, ...)

Data[1..4] = the lamp runtime (in

seconds)

V Lamp on, read 0x76, 0x9a, Data[0] Data1[0]

Data[0] = lamp number (1=lamp 1,

2=lamp 2, ...)

Data1[0]: 0: lamp is off / 1: lamp is on

V Diagnosis, read 0x81, 0x03, from, to 0x81, 0x03,

from, to, Data[0]

from = 0 & to = 0,

Data[0] = temperature ambient

X IR address, write 0x90, 0x00, Data[0]

X IR address, read 0x91, 0x00 Data[0]

Data[0] = High Altitude

0x00: Custom 1

0x01: Custom 2

0x02: Custom 3

0x03: Custom 4

X Auto source, write 0x90, 0x01, Data[0]

X Auto source, read 0x91, 0x01 Data[0]

Data[0] = Auto source

0x00: OFF

0x01: ON

X Menu position,

write 0x90, 0x02, Data[0]

X Menu position,

read 0x91, 0x02 Data[0]

Data[0] = Menu position

0x00: Top Left

0x01: Top Right

0x02: Center

0x03: Bottom Left

0x04: Bottom Right

X Main zoom in/out,

write 0xA0, 0x00, Data[0]

X Main zoom in/out,

read 0xA1, 0x00 Data[0]

Data [0] = Main zoom in/out.

OSD range: -10 ~ +10 mapping to

Data [0] range: 0 ~ 20

Step: 2

X PIP enable, write 0xA0, 0x01, Data[0] Data[0] = PIP enable

Page 26: Barco Clm Hd 6 Rs232 Code

X PIP enable, read 0xA1, 0x01 Data[0] 0x00: OFF

0x01: ON

X PIP select, write 0xA0, 0x02, Data[0]

X PIP select, read 0xA1, 0x02 Data[0]

Data[0]: PIP select

1 for HDMI 1,

2 for HDMI 2,

3 for VGA 1,

4 for VGA 2,

5 for RGB,

6 for YUV,

7 for S-Video,

8 for Video.

X PIP size, write 0xA0, 0x03, Data[0]

X PIP size, read 0xA1, 0x03 Data[0]

Data[0] = PIP size

0x00: Small

0x01: Medium

0x02: Large

X PIP position, write 0xA0, 0x04, Data[0]

X PIP position, read 0xA1, 0x04 Data[0]

Data[0] = PIP position

0x00: Top Left

0x01: Top Right

0x02: Bottom Left

0x03: Bottom Right

X Resolution, read 0xf0, 0x01 Data[0..3]

4 data bytes:

X resolution = data[0] * 256 + data[1]

Y resolution = data[2] * 256 + data[3]

X Lens shift, write 0xf4, 0x81, Data[0]

Data[0]: shift direction

0x00 for shift up,

0x01 for shift down,

0x02 for shift left,

0x03 for shift right

X Lens zoom, write 0xf4, 0x82, Data[0]

Data[0]: zoom direction

0x00 for zoom in,

0x01 for zoom out,

X Lens focus, write 0xf4, 0x83, Data[0]

Data[0]: focus direction

0x00 for focus out,

0x01 for focus in,

X Lens center, write 0xf4, 0x88

V Query for 'About' 0x2A(prefixed), 0x01, 0xA2 0x2A(prefixed), Data [0]: Model Name

Page 27: Barco Clm Hd 6 Rs232 Code

page 0x01, 0xA2, Data

[0..n]

0x01: CLM W6

0x02: CLM HD6

Data [1..10]: Serial No.

Data [11..14]: System FW version

Data [15/16]: Main/PIP Source

0x01: HDMI1

0x02: HDMI2

0x03: VGA1

0x04: VGA2

0x05: RGB

0x06: YUV

0x07: S-Video

0x08: Video.

0x1A: Invalid

Data [17]: Pixel Clock (MHz) - Integer

Data [18]: Pixel Clock (MHz)

-Decimal fraction * 256

Data [19]: V Refresh Rate (Hz, 1Byte)

Data [20]: H Refresh Rate (KHz)

- Integer

Data [21]: H Refresh Rate (KHz)

-Decimal fraction * 256

Data [22]: Signal Format.

0x01: Separate

0x02: Sync on Green

0x03: Sync on Composite.

0x00: Invalid.

Data [23..26]: Lamp1 Run Time

Data [27..30]: Lamp2 Run Time

Data [31]: Lamp1 ON/OFF

0x00: OFF

0x01: ON

Data [32]: Lamp2 ON/OFF

0x00: OFF

0x01: ON

Data [33..36]: Projector Run Time

Data [37]: Projector Status

0x00: OFF

Page 28: Barco Clm Hd 6 Rs232 Code

0x01: ON

Data [38]: Rear Projection

0x00: Front

0x01: Rear

Data [39]: Ceiling Mode

0x00: Desktop

0x01: Ceiling

V Set TCP/IP 0x2A(prefixed), 0x01,

0xA3, Data [0..n]

Data [0..3]: IP Address

Data [4..7]: Subnet Mask

Data [8..11]: Gateway

Data [12]: DHCP

0x00: OFF

0x01: ON

X Query for ‘general’

page 0x2A(prefixed), 0x02, 0xA2

0x2A(prefixed),

0x02, 0xA2, Data

[0..n]

Data [0]: Projector ON/Standby

0x00: OFF

0x01: ON

Data [1]: Pause ON/OFF

0x00: OFF

0x01: ON

Data [2]: Text ON/OFF

0x00: OFF

0x01: ON

Data [3]: Source

0x01: HDMI1

0x02: HDMI2

0x03: VGA1

0x04: VGA2

0x05: RGB

0x06: YUV

0x07: S-Video

0x08: Video

0x1A: Invalid

X

Query for 'Image

Setting' page

(Network module

using)

0x2A(prefixed), 0x03, 0xA2

0x2A(prefixed),

0x03, 0xA2, Data

[0..n]

Data [0]: Contrast

Data [1]: Brightness

Data [2]: Color

Data [3]: Tint

Data [4]: Sharpness value.

Page 29: Barco Clm Hd 6 Rs232 Code

OSD range: -7 ~ +8 mapping to

Data [4] range: 0 ~ 15.

Data [5]: Phase value.

OSD range: -32 ~ +32 mapping to

Data [5] range: 0 ~ 64.

Data [6]: Gamma

Data [7]: Color Flag

0x00: OFF

0x01: ON

Data [8]: Tint Flag

0x00: OFF

0x01: ON

X

Query for

'Geometry Adjust'

page

0x2A(prefixed), 0x04, 0xA2

0x2A(prefixed),

0x04, 0xA2, Data

[0..n]

Data [0]: Horz. Keystone.

Data [1]: Ver. Keystone.

Data [2]: Horz. Pincushion

Data [3]: Ver. Pincushion

Note: Keystone / Pincushion

OSD range: -127 ~ +127 mapping to

Data [n, n+1] range: 0 ~ 254.

Data [4]: Aspect Ratio

0x01: 5:4

0x02: 4:3

0x03: 16:10

0x04: 16:9

0x05: 1.88

0x06: 2.35

0x07: Native

0x08: Unscaled

0x00: Invalid

Data [5]: Auto Keystone

X

Query for

'Advanced Control'

page

0x2A(prefixed), 0x05, 0xA2

0x2A(prefixed),

0x05, 0xA2, Data

[0..n]

Data [0]: Color Temp.

0x01: 3200.

0x02: 5400.

0x03: 6500.

0x04: 8800.

0x05: Native.

0x00: Invalid.

Data [1]: Gain R

Page 30: Barco Clm Hd 6 Rs232 Code

Data [2]: Gain G

Data [3]: Gain B

Data [4]: Offset R

Data [5]: Offset G

Data [6]: Offset B

Note: Gain / Offset

OSD range: -127 ~ +127 mapping to

Data [n, n+1] range: 0 ~ 254.

Data [7]: Frame Rate

0x00: Auto

0x01: 50Hz

0x02: 60Hz

Data [8]: Vedio Standard

0x00: Auto

0x01: NTSC

0x02: PAL

V

Query for 'IP

Configuration'

page

0x2A(prefixed), 0x06, 0xA2

0x2A(prefixed),

0x06, 0xA2, Data

[0..n]

Data [0..3]: IP Address

Data [4..7]: Subnet Mask

Data [8..11]: Gateway

Data [12]: DHCP

0x00: OFF

0x01: ON

Data [13..16]: LAN FW version

V Query for

'Diagnostics' page 0x2A(prefixed), 0x07, 0xA2

0x2A(prefixed),

0x07, 0xA2, Data

[0]

Data [0]: Error Code

0x00: Lamp 1 fail.

0x01: Lamp 2 fail.

0x02: Lamp both fail.

0x03: F-type fan error.

0x04: R-type fan error.

0x05: DDP302x not ready.

0x06: TEC error.

0x07: Over temperature.

0x08: Lamp 1 striking fail.

0x09: Lamp 2 striking fail.

0x0A: Lamp both striking fail.

0x0B: Color wheel error.

0x0C: Reserved

0x0D: System standby.

Page 31: Barco Clm Hd 6 Rs232 Code

0x0E: System cooling.

0x0F: System warm up.

0x10: System normal operating.

0x11: F-type fan calibration.

0x12: Download mode.

0x13: Invalid.

X Query serial no. 0x2A(prefixed), 0x08, 0xA2

0x2A(prefixed),

0x08, 0xA2, Data

[0..9]

Data [0..9]: 10 characters Serial No.