AVS Forum banner

HD-XA1 RS-232 question

2180 Views 7 Replies 3 Participants Last post by  odyssey
The HD-XA1 RS-232 protocol has two bytes for function and two bytes for “reversal function.†The functions for pause and play are 0x00 and 0x15. The corresponding “reversal functions†are 0xFF and 0xEA. Can someone explain the reversal function and how it’s calculated? It seems to be a type of checksum, but I can’t make sense of it.
Status
Not open for further replies.
1 - 8 of 8 Posts
Looks like a bitwise-NOT (Reverse all the bits in the command)
Does anyone have this working? I can't tell if the HD-XA1 RS-232 is not functional or if I am doing something wrong.
Thanks mrmike. For those who are only slightly code literate, as I am, I think that this means converting the hex to binary, changing all 0s to 1s and all 1s to 0s, and converting the result back to hex. I am really puzzled why Toshiba introduced this unnecessary complication, especially without providing a table of reverse hex values.
Quote:
Originally Posted by odyssey
Thanks mrmike. For those who are only slightly code literate, as I am, I think that this means converting the hex to binary, changing all 0s to 1s and all 1s to 0s, and converting the result back to hex. I am really puzzled why Toshiba introduced this unnecessary complication, especially without providing a table of reverse hex values.
You're correct in your translation of my geek speak. Sorry, I tend to think everyone is a professional bit twiddler like me.


Their reasoning for the complication probably has something to do with relatively archaic notions about the reliability of serial communication links. Lots of the Sony VCR and Edit controller RS-232 stuff has the same sort of cheap error detection in it.


Here's a quick table:
Code:
Code:
[00/FF] [01/FE] [02/FD] [03/FC] [04/FB] [05/FA] [06/F9] [07/F8]
[08/F7] [09/F6] [0A/F5] [0B/F4] [0C/F3] [0D/F2] [0E/F1] [0F/F0]
[10/EF] [11/EE] [12/ED] [13/EC] [14/EB] [15/EA] [16/E9] [17/E8]
[18/E7] [19/E6] [1A/E5] [1B/E4] [1C/E3] [1D/E2] [1E/E1] [1F/E0]
[20/DF] [21/DE] [22/DD] [23/DC] [24/DB] [25/DA] [26/D9] [27/D8]
[28/D7] [29/D6] [2A/D5] [2B/D4] [2C/D3] [2D/D2] [2E/D1] [2F/D0]
[30/CF] [31/CE] [32/CD] [33/CC] [34/CB] [35/CA] [36/C9] [37/C8]
[38/C7] [39/C6] [3A/C5] [3B/C4] [3C/C3] [3D/C2] [3E/C1] [3F/C0]
[40/BF] [41/BE] [42/BD] [43/BC] [44/BB] [45/BA] [46/B9] [47/B8]
[48/B7] [49/B6] [4A/B5] [4B/B4] [4C/B3] [4D/B2] [4E/B1] [4F/B0]
[50/AF] [51/AE] [52/AD] [53/AC] [54/AB] [55/AA] [56/A9] [57/A8]
[58/A7] [59/A6] [5A/A5] [5B/A4] [5C/A3] [5D/A2] [5E/A1] [5F/A0]
[60/9F] [61/9E] [62/9D] [63/9C] [64/9B] [65/9A] [66/99] [67/98]
[68/97] [69/96] [6A/95] [6B/94] [6C/93] [6D/92] [6E/91] [6F/90]
[70/8F] [71/8E] [72/8D] [73/8C] [74/8B] [75/8A] [76/89] [77/88]
[78/87] [79/86] [7A/85] [7B/84] [7C/83] [7D/82] [7E/81] [7F/80]
[80/7F] [81/7E] [82/7D] [83/7C] [84/7B] [85/7A] [86/79] [87/78]
[88/77] [89/76] [8A/75] [8B/74] [8C/73] [8D/72] [8E/71] [8F/70]
[90/6F] [91/6E] [92/6D] [93/6C] [94/6B] [95/6A] [96/69] [97/68]
[98/67] [99/66] [9A/65] [9B/64] [9C/63] [9D/62] [9E/61] [9F/60]
[A0/5F] [A1/5E] [A2/5D] [A3/5C] [A4/5B] [A5/5A] [A6/59] [A7/58]
[A8/57] [A9/56] [AA/55] [AB/54] [AC/53] [AD/52] [AE/51] [AF/50]
[B0/4F] [B1/4E] [B2/4D] [B3/4C] [B4/4B] [B5/4A] [B6/49] [B7/48]
[B8/47] [B9/46] [BA/45] [BB/44] [BC/43] [BD/42] [BE/41] [BF/40]
[C0/3F] [C1/3E] [C2/3D] [C3/3C] [C4/3B] [C5/3A] [C6/39] [C7/38]
[C8/37] [C9/36] [CA/35] [CB/34] [CC/33] [CD/32] [CE/31] [CF/30]
[D0/2F] [D1/2E] [D2/2D] [D3/2C] [D4/2B] [D5/2A] [D6/29] [D7/28]
[D8/27] [D9/26] [DA/25] [DB/24] [DC/23] [DD/22] [DE/21] [DF/20]
[E0/1F] [E1/1E] [E2/1D] [E3/1C] [E4/1B] [E5/1A] [E6/19] [E7/18]
[E8/17] [E9/16] [EA/15] [EB/14] [EC/13] [ED/12] [EE/11] [EF/10]
[F0/0F] [F1/0E] [F2/0D] [F3/0C] [F4/0B] [F5/0A] [F6/09] [F7/08]
[F8/07] [F9/06] [FA/05] [FB/04] [FC/03] [FD/02] [FE/01] [FF/00]
See less See more
Note that this appears to be a binary transmit only protocol. No conversion to hex or ASCII. The 0x00 convention is just how the C language represents the binary values using hex notation. So each byte is sent out via the PC's UART as a start bit, eight data bits and a stop bit. Best to pause/delay for a brief interval between 8 byte command groups, say for 0.1 second minimum just to be safe.



Curious that Toshiba says it is a 3 wire protocol. Wonder what it sends/transmits back out?


Bob


Edit: The bold italic above may be wrong. Upon further reflection maybe you are supposed to convert each nibble to an ASCII byte code since the protocol talks about 4 bytes for the start code, 2 bytes for the function code, and two bytes for the reversal function code. Yet only 8 nibbles are called for in the total coding for a command.
I have given up on this and until someone confirms that they have it working, I will use IR. I am using Crestron and the strings being sent are correct, the serial settings are right, the cable is good, and I also tried with pacing with various delays between bytes.
I finally got RS-232 control to work with a Crestron system. This site: http://groups.yahoo.com/group/Crestron has both the Crestron RS-232 and IR modules for the HD-XA(1) in the files section.
1 - 8 of 8 Posts
Status
Not open for further replies.
Top