Your Universal Remote Control Center
RemoteCentral.com
RS-232 & IP Control Forum - View Post
Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Original thread:
Post 1 made on Monday February 14, 2011 at 01:03
Lowpro
Select Member
Joined:
Posts:
March 2004
2,081
I just recently purchased a RFX9600 and several of the Sony BDP-CX7000ES 400-disc Blu-ray Changers. Spent some time yesterday getting my TSU9x00 remotes, RFX9400's and RFX9600 setup for the changer short of implementing the RS-232 control. Spent the better part of today implementing the RS-232 control for the changer. Took some trial and error as this was my first time working with RS-232. Fortunately my persistence paid off. Figured out enough to successfully create a full set of RS-232 codes for the changer, including direct disc selection codes for all 400 changer slots! Not bad for a days work. :-) That being said, I thought I'd share some of what I learned today for anyone that owns this changer and has yet to take on RS-232 control. See the below. Full documentation per the below can be found in the files section here.

RS232C format
Baud Rate : 9600bps
Data Bits : 8bit
Parity : No
Stop Bits : 1

Data Format (Host Controller <-> BD Player)
STX +BC +PDC +CMD +Data1 +----+DataN+CS

The terminological definition is as follows...

STX 02 H : Start of text code
BC : Byte Count (Number of bytes of until before CS from PDC.)
PDC : Product Code (0x80 BD1, 0x81 BD2, 0x82 BD3)
CMD: Command (Opecode)
DataN: Data Block ( 0 ≦N ≦FAH )
CS : Check Sum (A value from which 8 bits of low ranks of the sum from BC to CS are set to 0.)
___________________________________________

The structure of the command (CMD) for direct disc selection is shown below.

CMD: 0x4a DISC_DIRECT_SET

Disc No. (length=2)

0x0000: Current disc
0x0001: Disc No.1
0x0002: Disc No.2
- - - - - - - - - -
0x0399: Disc No.399
0x0400: Disc No.400

Track/Title No. (length=2)

0x0000: Track/Title number is not specified.
0x0001: Track/Title No.1
0x0002: Track/Title No.2
- - - - - - - - - -
0x0999: Track/Title No.999

Chapter No. (length=2)

0x0000: Chapter number is not specified.
0x0001: Chapter No.1
0x0002: Chapter No.2
- - - - - - - - - -
0x0999: Chapter No.999

Control (length=1)

0x00: play
0x01: pause
0x10: play Music File in Data Media
0x11: pause Music File in Data Media
0x20: play Photo File in Data Media
0x21: pause Photo File in Data Media

The below examples show the Hex to be added in the Pronto Editor (PEP v1.1.20 or higher) when creating the RS-232 code.

Example 1: Selecting Disc No.2, Title No.1, Chapter No.10, and setting Control as play.
02 09 80 4A 00 02 00 01 00 10 00 1A

02 (STX 02H)

09 (Byte Count)

80 (Product Code: BD1)

4A (Command: DISC_DIRECT_SET)

00 (Disc No. 0002: 00xx)

02 (Disc No. 0002: xx02)

00 (Title No. 0001: 00xx)

01 (Title No. 0001: xx01)

00 (Chapter No. 0010: 00xx)

10 (Chapter No. 0010: xx10)

00 (Control: Play)

1A (Check Sum)

The above example is provided in the documentation I found posted in the files section here. I added the breakdown to provide some clarity as the documentation at first glance was a bit confusing to me having never worked with RS-232 before. The one key thing I have yet to learn is how to compute the Check Sum (CS). Thankfully I found a Sony Receiver Check Sum Calculator excel sheet (Download link for the excel sheet can be found here. The Add-In, "Analysis ToolPak" will need to be installed/enabled in Excel via "Tools->Add-Ins" for proper calc operation.) which I used to determine the Check Sum. I added a second tab specifically for the Sony BDP-CX7000ES where I expanded the Check Sum Calculator to allow for a byte count up to 9 as can be the case with DISC_DIRECT_SET commands where the title and chapter are specified. That being said, below are a few examples per the RS-232 codes I created for loading each changer slot, including codes for power off/on and play.

Example 2: Selecting Disc No.2 and setting Control as play.
02 05 80 4A 00 02 00 2F

02 (STX 02H)

05 (Byte Count)

80 (Product Code: BD1)

4A (Command: DISC_DIRECT_SET)

00 (Disc No. 0002: 00xx)

02 (Disc No. 0002: xx02)

00 (Control: Play)

2F (Check Sum)

Example 3: Selecting Disc No.25 and setting Control as play.
02 05 80 4A 00 25 00 0C

02 (STX 02H)

05 (Byte Count)

80 (Product Code: BD1)

4A (Command: DISC_DIRECT_SET)

00 (Disc No. 0025: 00xx)

25 (Disc No. 0025: xx25)

00 (Control: Play)

0C (Check Sum)

Example 4: Selecting Disc No.255 and setting Control as play.
02 05 80 4A 02 55 00 DA

02 (STX 02H)

05 (Byte Count)

80 (Product Code: BD1)

4A (Command: DISC_DIRECT_SET)

02 (Disc No. 0255: 02xx)

55 (Disc No. 0255: xx55)

00 (Control: Play)

DA (Check Sum)

___________________________________________

The structure of the command (CMD) for powering the changer off/on is shown below.

CMD: 0x60 POWER_SET

Control (length=1)

0x00: POWER OFF
0x01: POWER ON
0x02 - 0xff: reserved

Again, the below examples show the Hex to be added in the Pronto Editor (PEP v1.1.20 or higher) when creating the RS-232 code.

Example 5: Power Off
02 03 80 60 00 1D

02 (STX 02H)

03 (Byte Count)

80 (Product Code: BD1)

60 (Command: POWER_SET)

00 (Control: Power Off)

1D (Check Sum)

Example 6: Power On
02 03 80 60 01 1C

02 (STX 02H)

03 (Byte Count)

80 (Product Code: BD1)

60 (Command: POWER_SET)

01 (Control: Power On)

1C (Check Sum)

___________________________________________

Example of a simple function shown below.

Example 7: Play
02 02 80 12 6C

02 (STX 02H)

02 (Byte Count)

80 (Product Code: BD1)

12 (Command: Play)

6C (Check Sum)

Last edited by Lowpro on December 5, 2012 03:30.
LP Related Links:
View my profile to access various
links to key posts and downloads.


Hosting Services by ipHouse