CAV 1 & 2 Command structure for LANC, S-Link & Infrared Signals.

 


This document is a revision of the original from Dan Zenechelsky, I have modified it and as at this date is my latest revision. As time goes by I shall be adding to it, if anybody has any revisions or other data please advise me and I shall update this document.

I am also looking at the CAV-50 which is supplied with the PCLK-MD1 unit and will include the details in the S-link section. This document will also appear at my web site Http://www.sonymods.com

Please send revisions to : modit@bigfoot.com

 


1.0Overview of the CAV units

 

The CAV unitís are an RS232 device that operates at 9600bps (8,N,1). The current family of units are the CAV 1 & 2 which have outputs for IR, S-link & control-A1, there is also the CAV 50 this unit has only a control- A1 output. For each there is a general format for both commands sent to the unit and responses received from the unit. This format consists of a sequence of bytes terminated in a 0xFF terminating character.

Example sequence --> 0x81 0x07 0x05 0x41 0x02 0x01 0xFF

The first byte in a sequence represents the direction: 0x81 is a command to the device, and 0x90 is status returned.

The second byte represents the complete length of the sequence, including the direction byte, the length byte, and the terminating byte.

The third byte describes the class of device which is to be controlled, and the connector to which the command is sent. Possible values include: 0x00 -- cancel, 0x01 -- pre-programmed infrared, 0x05 -- slink, 0x10 -- learned infrared.

The remaining bytes vary depending on the type of operation.

 

These are the functions that seem to work with these CAV units.

 

Byte 3

Value in Hex

Infrared

01

Lanc

02

S-link (control A, A1)

05

Learn Infrared

10

Cancel

00

 

 

 

Whilst working on this unit I have come across other data strings the original program from Sony sends & receives.

 

1: ††††††† PC sends to CAV1 & 2 unit

††††††††††† 0x81 0x06 0x80 0x20 0x11 0xFF

††††††††††† I beleive that this is sent to see if the CAV1 & 2unit is there if it is it responds with:

††††††††††† CAV1 & 2unit sends back to PC every 30 seconds

††††††††††† 0x90 0x06 0x80 0x02 0x05 0xFF†††

 

2: ††††††† The CAV1 & 2unit also responds to the PC with the following data string:

††††††††††† 0x90 0x06 0x80 0x20 0x02 0xFF Battery in Egg mouse is low

††††††††††† 0x90 0x06 0x80 0x20 0x01 0xFF Battery in Egg mouse is OK

 

3:†††††††† When a command is sent from the PC to the CAV1 & 2unit and it's not a valid command we ††††††††††† get the following response.

††††††††††† 0x90 0x07 0x01 0xYZ 0x40 0x01 0xFF

††††††††††† where Byte 4 (0xYZ) = device ID


2.0 Pre programmed Infra red commands

 

There are two types of IR transmissions that can be done using the CAV 1&2 hardware. The CAV 1&2 unit comes with a set of pre-programmed IR sequences that can be used, and there is also an IR learning feature, which is described further on

To use a pre-programmed IR command, you need to send a sequence of bytes, as defined below .

The third byte in the sequence, which defines the class of device, should be set to 0x01.

Byte four defines the device number of the unit that you are trying to control. See Table I for a list of device numbers.

Bytes five and six combine to define which "key to press" (for example, play, stop, etc.) See belowfor the list of key codes.

For example, the byte sequence for the PLAY button on a SONY CD player is: 0x81 0x07 0x01 0x41 0x02 0x01 0xFF.

After sending a byte sequences, you need to pause for ~50 milliseconds and send the sequence: 0x81 0x05 0x01 0x00 0xFF, which stops the IR transmitter.

 

 

 

 

 


Table 1.

Here is the current list of valid device and commands available to you with the CAV-1 &2Interface boxes. The following is the list I have compiled for valid devices, these would appear as Byte 4 in the command sequence to the unit.

 

Device ID's

 

 

Device Controlled

 

Device ID's

 

Device Controlled

 

Device ID's

 

Device Controlled

 

 

 

 

 

 

 

 

 

 

 

 

1

 

77

SonyVCR 1

 

85

 

GE VCR 1

 

A2

 

Kenwood LD

2

 

77

SonyVCR 2

 

86

 

GE VCR 2

 

B1

 

Emerson TV 1

3

 

77

SonyVCR 3

 

87

 

Hitachi VCR 1

 

B2

 

Emerson TV 2

4

 

40

Sony LD

 

88

 

Misubishi VCR 1

 

B3

 

GE TV 1

10

 

45

Sony TV

 

89

 

Misubishi VCR 2

 

B4

 

GE TV 2

15

 

11

Sony Projector

 

8A

 

Misubishi VCR 3

 

B5

 

Hitach TV 1

16

 

44

Sony ????

 

8B

 

Panasonic VCR 1

 

B6

 

Hitach TV 2

17

 

34

Sony ????

 

8C

 

Panasonic VCR 2

 

B7

 

Mitsubishi TV 1

41

 

68

Sony CD 1

 

8D

 

RCA VCR 1

 

B8

 

Mitsubishi TV 2

42

 

68

Sony CD 2

 

8E

 

RCA VCR 2

 

B9

 

Panasonic TV 1

43

 

68

Sony CD 3

 

8F

 

Toshiba VCR 1

 

BA

 

Panasonic TV 2

44

 

23

Sony Tape

 

90

 

Toshiba VCR 2

 

BB

 

RCA TV 1

45

 

28

Sony Tuner

 

91

 

Fischer VCR 1

 

BC

 

Toshiba TV

46

 

21

Sony DAT

 

92

 

Fischer VCR 2

 

BD

 

Fischer TV 1

47

 

54

Sony MD 1

 

93

 

Fischer VCR 3

 

BE

 

Fischer TV 2

48

 

54

Sony MD 2

 

94

 

Fischer VCR 4

 

BF

 

Goldstar TV 1

60

 

21

Sony Audio Amp

 

95

 

Goldstar VCR 1

 

C0

 

Goldstar TV 2

61

 

22

Sony AV Amp

 

96

 

JVC VCR 1

 

C1

 

JVC TV 1

62

 

22

Sony ????

 

97

 

JVC VCR 2

 

C2

 

Sanyo TV 1

 

 

 

 

 

98

 

Sharp VCR 1

 

C3

 

Sharp TV 1

81

 

 

Emerson VCR 1

 

99

 

Sharp VCR 2

 

C4

 

Sharp TV 2

82

 

 

Emerson VCR 2

 

9A

 

Zenith VCR 1

 

C5

 

Sharp TV 3

83

 

 

Emerson VCR 3

 

A0

 

Pioneer LD

 

C6

 

Zenith TV

84

 

 

Emerson VCR 4

 

A1

 

Panasonic LD

 

FE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



The following is the list I have compiled for valid commandís, these would appear as Byteís 5 & 6 in the command sequence to the unit. Note that there are simularities to these but they differ for each device. I have included the sircs device for each device and the whole sircs command for it.

 

When Byte 4 = 1 Sony VCR 1. The sircs device for VCR 1 is 01000 for 12bit & 100101101 for 15bit

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101001000

4

14

 

000100100101101

1

3

Power Off

111101001000

4

40

Main/ Sub

111010001000

1

10

Power toggle

101010001000

4

50

Tv/VTR

010101001000

2

1

Play

010110001000

7

1

Display

010110101000

2

2

Stop

000110001000

7

2

Counter Reset

011000101000

2

3

Pause

100110001000

7

10

Tape remaining

100000101000

2

11

Rewind

110110001000

7

20

Zero mem

111000101000

2

12

Fast forward

001110001000

7

26

Timer display

001110101000

2

13

Seek back

000101001000

8

10

 

011101000101101

2

14

Seek forward

100101001000

8

11

 

111101000101101

2

15

Index -

111010101000

8

12

Timer Record

101001101000

2

16

Index +

011010101000

B

1

 

011000000101101

2

21

Record

101110001000

B

2

 

111000000101101

2

22

 

011110001000

B

3

 

000100000101101

3

1

1

000000001000

B

4

 

100100000101101

3

2

2

100000001000

B

5

 

010100000101101

3

3

3

010000001000

B

6

 

110100000101101

3

4

4

110000001000

B

7

 

001100000101101

3

5

5

001000001000

B

8

 

101100000101101

3

6

6

101000001000

B

10

G-Code set

000001100101101

3

7

7

011000001000

B

11

 

100001100101101

3

8

8

111000001000

B

12

 

010001100101101

3

9

9

000100001000

B

13

 

110001100101101

3

A

0/10

100100001000

10

1

Index Mark

000100101000

3

B

--/11

010100001000

10

2

Index erase

100100101000

3

C

12

110100001000

10

3

Shuttle edit +

110010101000

3

D

13

001100001000

10

4

Shuttle edit -

001010101000

3

E

14

101100001000

10

5

VTR

101101000101101

3

F

15

011100001000

10

10

Menu

101100101000

3

10

16

111100001000

10

11

Enter

100010101000

3

21

CH -

100010001000

10

12

Menu up

010000101000

3

22

CH +

000010001000

10

13

Menu dwn

110000101000

4

1

Video toggle

111100101000

10

14

Menu right

100001101000

4

2

 

110000100101101

10

15

Menu left

010001101000

4

3

Video 1

101011000101101

10

16

 

000000101000

4

4

Video 2

011011000101101

 

 

 

 

4

5

Video 3

111011000101101

 

 

 

 

4

6

Video 4

000111000101101

 

 

 

 

4

10

 

010000100101101

 

 

 

 

4

11

 

001000100101101

 

 

 

 

4

12

 

101000100101101

 

 

 

 

4

13

 

111000100101101

 

 

 

 


When Byte 4 = (2) Sony VCR 2. The sircs device for VCR 2 is 11100 for 12bit & 11101101 for 15bit

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101011100

4

14

 

000100111101101

1

3

Power Off

111101011100

4

40

Main/ Sub

111010011100

1

10

Power toggle

101010011100

4

50

Tv/VTR

010101011100

2

1

Play

010110011100

7

1

Display

010110111100

2

2

Stop

000110011100

7

2

Counter Reset

011000111100

2

3

Pause

100110011100

7

10

Tape remaining

100000111100

2

11

Rewind

110110011100

7

20

Zero mem

111000111100

2

12

Fast forward

001110011100

7

26

Timer display

001110111100

2

13

Seek back

000101011100

8

10

 

011101011101101

2

14

Seek forward

100101011100

8

11

 

111101011101101

2

15

Index -

111010111100

8

12

Timer Record

101001111100

2

16

Index +

011010111100

B

1

 

011000011101101

2

21

Record

101110011100

B

2

 

111000011101101

2

22

 

011110011100

B

3

 

000100011101101

3

1

1

000000011100

B

4

 

100100011101101

3

2

2

100000011100

B

5

 

010100011101101

3

3

3

010000011100

B

6

 

110100011101101

3

4

4

110000011100

B

7

 

001100011101101

3

5

5

001000011100

B

8

 

101100011101101

3

6

6

101000011100

B

10

G-Code set

000001111101101

3

7

7

011000011100

B

11

 

100001111101101

3

8

8

111000011100

B

12

 

010001111101101

3

9

9

000100011100

B

13

 

110001111101101

3

A

0/10

100100011100

10

1

Index Mark

000100101000

3

B

--/11

010100011100

10

2

Index erase

100100101000

3

C

12

110100011100

10

3

Shuttle edit +

110010101000

3

D

13

001100011100

10

4

Shuttle edit -

001010101000

3

E

14

101100011100

10

5

VTR

101101011101101

3

F

15

011100011100

10

10

Menu

101100101000

3

10

16

111100011100

10

11

Enter

100010101000

3

21

CH -

100010011100

10

12

Menu up

010000101000

3

22

CH +

000010011100

10

13

Menu dwn

110000101000

4

1

Video toggle

111100111100

10

14

Menu right

100001101000

4

2

 

110000111101101

10

15

Menu left

010001101000

4

3

Video 1

101011011101101

10

16

 

000000101000

4

4

Video 2

011011011101101

 

 

 

 

4

5

Video 3

111011011101101

 

 

 

 

4

6

Video 4

000111011101101

 

 

 

 

4

10

 

010000111101101

 

 

 

 

4

11

 

001000111101101

 

 

 

 

4

12

 

101000111101101

 

 

 

 

4

13

 

111000111101101

 

 

 

 


When Byte 4 = (3) Sony VCR 3. The sircs device for VCR 3 is 11010 for 12bit & 11111101 for 15bit

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101011010

4

14

 

000100111111101

1

3

Power Off

111101011010

4

40

Main/ Sub

111010011010

1

10

Power toggle

101010011010

4

50

Tv/VTR

010101011010

2

1

Play

010110011010

7

1

Display

010110111010

2

2

Stop

000110011010

7

2

Counter Reset

011000111010

2

3

Pause

100110011010

7

10

Tape remaining

100000111010

2

11

Rewind

110110011010

7

20

Zero mem

111000111010

2

12

Fast forward

001110011010

7

26

Timer display

001110111010

2

13

Seek back

000101011010

8

10

 

011101011111101

2

14

Seek forward

100101011010

8

11

 

111101011111101

2

15

Index -

111010111010

8

12

Timer Record

101001111010

2

16

Index +

011010111010

B

1

 

011000011111101

2

21

Record

101110011010

B

2

 

111000011111101

2

22

 

011110001000

B

3

 

000100011111101

3

1

1

000000011010

B

4

 

100100011111101

3

2

2

100000011010

B

5

 

010100011111101

3

3

3

010000011010

B

6

 

110100011111101

3

4

4

110000011010

B

7

 

001100011111101

3

5

5

001000011010

B

8

 

101100011111101

3

6

6

101000011010

B

10

G-Code set

000001111111101

3

7

7

011000011010

B

11

 

100001111111101

3

8

8

111000011010

B

12

 

010001111111101

3

9

9

000100011010

B

13

 

110001111111101

3

A

0/10

100100011010

10

1

Index Mark

000100111010

3

B

--/11

010100011010

10

2

Index erase

100100111010

3

C

12

110100011010

10

3

Shuttle edit +

110010111010

3

D

13

001100011010

10

4

Shuttle edit -

001010111010

3

E

14

101100011010

10

5

VTR

101101011111101

3

F

15

011100011010

10

10

Menu

101100111010

3

10

16

111100011010

10

11

Enter

100010111010

3

21

CH -

100010011010

10

12

Menu up

010000111010

3

22

CH +

000010011010

10

13

Menu dwn

110000111010

4

1

Video toggle

111100111010

10

14

Menu right

100001111010

4

2

 

110000111111101

10

15

Menu left

010001111010

4

3

Video 1

101011011111101

10

16

 

000000111010

4

4

Video 2

011011011111101

 

 

 

 

4

5

Video 3

111011011111101

 

 

 

 

4

6

Video 4

000111011111101

 

 

 

 

4

10

 

010000111111101

 

 

 

 

4

11

 

001000111111101

 

 

 

 

4

12

 

101000111111101

 

 

 

 

4

13

 

111000111111101

 

 

 

 


When Byte 4 = (4 ) Sony LD. The sircs device for LD is 01100

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101001100

3

7

7

011000001100

1

3

Power Off

111101001100

3

8

8

111000001100

1

10

Power toggle

101010001100

3

9

9

000100001100

2

1

Play

010110001100

3

A

0/10

100100001100

2

2

Stop

000110001100

3

20

Search

110100001100

2

3

Pause

100110001100

3

23

+10

100111001100

2

13

Seek back

110110001100

3

40

Side A

101110101100

2

14

Seek forward

001110001100

3

41

Side B

011110101100

2

15

Index -

101011001100

6

10

 

011101101100

2

16

Index +

001011001100

6

11

 

111101101100

2

17

 

001010101100

6

12

 

000011101100

2

18

 

110010101100

6

13

 

100011101100

2

33

 

001010001100

6

14

 

110011101100

2

40

 

011010001100

7

1

Display

010111001100

3

1

1

000000001100

7

10

Time

000101001100

3

2

2

100000001100

11

1

 

001111101100

3

3

3

010000001100

11

2

 

101111101100

3

4

4

110000001100

11

3

 

000001101100

3

5

5

001000001100

11

4

 

100001101100

3

6

6

101000001100

11

5

 

010001101100


When Byte 4 = 10Sony TV. The sircs device for LD is 10000

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101010000

4

1

Input toggle

101001010000

1

3

Power Off

111101010000

4

2

TV

001001010000

1

10

Power toggle

101010010000

4

3

Input 1

000000110000

3

1

1

000000010000

4

4

Input 2

100000110000

3

2

2

100000010000

4

5

Input 3

010000110000

3

3

3

010000010000

4

6

Input8 (4)

111000110000

3

4

4

110000010000

4

7

(Text Index)

000100110000

3

5

5

001000010000

4

8

(Text Enlarge)

100100110000

3

6

6

101000010000

4

9

Input 4

110000110000

3

7

7

011000010000

4

A

Input 5

001000110000

3

8

8

111000010000

4

B

Input 6

101000110000

3

9

9

000100010000

4

C

Input 7

011000110000

3

A

0/10

100100010000

4

11

SAT Input

100010110000

3

B

--/11

010100010000

4

12

 

010010110000

3

C

12

110100010000

4

20

Cable Input

011100110000

3

D

13

001100010000

4

30

Ant/ Aux

010101010000

3

E

14

101100010000

4

40

A-B/MTS/Stereo

111010010000

3

F

15

011100010000

4

42

 

101100110000

3

10

16

111100010000

5

1

Volume +

010010010000

3

21

CH -

100010010000

5

2

Volume -

110010010000

3

22

CH +

000010010000

5

10

Mute

001010010000

 

 

 

 

6

19

PinP

110110110000

 

 

 

 

7

1

Display

010111010000

 

 

 

 

8

20

Sleep

011011010000

 

When Byte 4 = 15 Sony Projector. The sircs device for Projector is 00101010

 

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

1

2

Power On

011101000101010

1

3

Power Off

111101000101010

1

10

Power toggle

101010000101010

4

3

 

010100000101010

4

4

 

110100000101010

4

5

 

001100000101010

4

6

 

101100000101010

4

7

 

011100000101010

4

8

 

111100000101010

7

2

Picture mute

001001000101010

7

3

Status On

101001000101010


When Byte 4 = 16Unknown Sony Device. The sircs device for Unknown Sony Device is 00000

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101000000

4

1

Video

101001000000

1

3

Power Off

111101000000

4

2

Tv

001001000000

1

10

Power toggle

101010000000

4

11

 

000100100000

3

1

1

000000000000

4

12

 

100100100000

3

2

2

100000000000

4

13

 

110100100000

3

3

3

010000000000

4

16

 

010100100000

3

4

4

110000000000

4

17

 

001100100000

3

5

5

001000000000

4

18

 

101100100000

3

6

6

101000000000

4

19

 

011100100000

3

7

7

011000000000

4

1A

 

111100100000

3

8

8

111000000000

4

40

 

111010000000

3

9

9

000100000000

4

41

 

000101000000

3

A

10

100100000000

4

42

 

001101000000

3

B

11

010100000000

5

1

Volume +

010010000000

3

C

12

110100000000

5

2

Volume -

110010000000

3

D

13

001100000000

5

10

Mute

001010000000

3

E

14

101100000000

7

1

Display

010111000000

3

F

15

011100000000

10

10

Menu

000111000000

3

10

16

111100000000

10

11

select

011011100000

3

21

Channel -

100010000000

10

12

Up arrow

010011100000

3

22

Channel +

000010000000

10

13

Down arrow

110011100000

 

 

 

 

10

14

Rightarrow

001011100000

 

 

 

 

10

15

Left arrow

101011100000

 

When Byte 4 = 17 Sony DSS System. The sircs device for the Sony DSS is 11101101

 

Byte 5

Byte6

Command

Sircs Command

Byte 5

Byte6

Command

Sircs Command

 

 

 

 

 

 

 

 

1

2

Power On

011101011101101

3

F

 

011100011101101

1

3

Power Off

111101011101101

3

10

 

111100011101101

1

10

Power toggle

101010011101101

3

21

Channel +

100010011101101

3

1

1

000000011101101

3

22

Channel -

000010011101101

3

2

2

100000011101101

3

24

Jump

001101111101101

3

3

3

010000011101101

4

1

Tv / Video

101001011101101

3

4

4

110000011101101

4

2

 

001001011101101

3

5

5

001000011101101

4

41

 

000101011101101

3

6

6

101000011101101

7

1

Display

010111011101101

3

7

7

011000011101101

10

10

Menu

000111011101101

3

8

8

111000011101101

10

11

Select

011011111101101

3

9

9

000100011101101

10

12

Up arrow

010011111101101

3

A

0

100100011101101

10

13

Down arrow

110011111101101

3

B

 

010100011101101

10

14

Right arrow

001011111101101

3

C

Enter

110100011101101

10

15

Left arrow

101011111101101

3

D

 

001100011101101

10

16

Guide

011101111101101

3

E

 

101100011101101

 

 

 

 


When Byte 4 = 41 Sony CD player 1. The sircs device for Sony CD player 1is 10001

 

Byte 5

Byte6

Command