background image

 Installers Guide to the Bose® Serial interface 

 

June 28, 2011 

Bose Confidential Information 

Page 16/42 

Do Not Redistribute 

Console sends: 08 <Status> 01 04 <Key-State> <Producer> <Key-Code> <Room> 

Table 5-6 Key Press Notification Packet Format 

Byte 
Number 

Value 
(Hex) 

Name 

Explanation 

08 

Length 

The total number of bytes in this packet is 8 

<Status> 

Status 

Error bit = 0, Notification bit = 1 

2-3 

01 04 

OpCode 

The OpCode of the Key Press Notification command 

<Key-
State> 

Key State 

Pressed = 0, Released = 1 

<Producer>  Key 

Producer 

Console = 0, RF = 1, IR = 2 

<Key-
Code> 

Key Code 

The Key Code of the pressed key (See section 7.2 Key 
Press Codes)
 

<Room> 

Room 
Code 

Room where the Key was pressed. Decimal values 0-14 
represent rooms A (Main) through O. 

 

Note: The OpCode of a Key Press Notification packet is the same as the OpCode of a Ready 
packet, but the length of a Ready packet is always 4 versus 8 for a Key Press Notification packet 
and the Ready packet does not have the Notification bit set in the Status Byte. 

5.3.4.2  Assert Notification Packets 

This packet will only be sent from the Console if a fatal error in the Console has occurred, and it 
indicates the Console will reboot. The first four bytes of payload are the Assert code, the rest is a 
zero terminated ASCII string. 
 
Console sends: <Length> <Status> 01 02 <Assert-Code> <Msg> 

Table 5-7 Assert Notification Packet Format 

Byte 
Number 

Value 
(Hex) 

Name 

Explanation 

<Length>  Length 

The total number of bytes in this packet 

<Status> 

Status 

Error bit = 0, Notification bit = 1 

2-3 

01 02 

OpCode 

 

4-7 

<Assert-
Code> 

Assert 
Number 

Can be used by support to trace the location of the failure 

8

— 

<Msg> 

Message 
text 

A zero terminated ASCII String 

5.3.4.3  Debug Notification Packets 

Console sends: <Length> <Status> 01 00 <Msg> 

Table 5-8 Debug Packet Format 

Byte 
Number 

Value 
(Hex) 

Name 

Explanation 

<Length> 

Length 

The total number of bytes in this packet 

<Status> 

Status 

Error bit = 0, Notification bit = 1 

2-3 

01 00 

OpCode 

 

5

— 

<Msg> 

Message 
text 

An ASCII String 

Summary of Contents for AV20

Page 1: ...he console software ALL INFORMATION FURNISHED BY OR ON BEHALF OF BOSE IN oR IN CONNECTION WITH THIS DOCUMENT IS PROVIDED EXCLUSIVELY ON AN AS IS BASIS AND BOSE AND ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES WHETHER EXPRESS IMPLIED STATUTORY OR OTHERWISE INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF PERFORMANCE ACCURACY COMPLETENESS MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE TITLE OR N...

Page 2: ...PROTOCOL ____________________________ 12 5 1 Notational Conventions 12 5 2 Issuing Commands to the Console 12 5 3 Interpreting Packets from the Console 12 5 3 1 Ready Packet 13 5 3 2 Response Packets 13 5 3 3 Error Packets 13 5 3 4 Notification Packets 14 5 4 Protocol Timings 17 5 4 1 MAX_PACKET_TIME 17 5 4 2 REBOOT_TIME 17 5 4 3 NOT_AVAILABLE_TIME 17 5 4 4 TURN_ON_TIME 17 5 4 5 ALL_OFF_TIME 17 5 ...

Page 3: ...uner Station 29 6 6 QS Query Tuner Station 29 6 6 1 Converting between frequency and station number 30 6 6 2 Sample Conversions 31 6 7 Query Current Tuner Preset 31 6 8 SR Query Zone Source 32 6 9 RDS PS Query RDS Program Service 33 6 10 RDS RT Query RDS Radio Text 33 6 11 SysRdy Query System Ready 34 6 12 UpTime Query System Up Time 34 6 13 RmStatus Query Room Status 35 7 APPENDIX _______________...

Page 4: ...le 6 10 Query Hard Key Press Notification State Response Format 26 Table 6 11 Enable Soft Key Press Notifications Command Format 26 Table 6 12 Enable Disable Soft Key Press Notifications Accepted Response Format 27 Table 6 13 Enable Disable Soft Key Press Notifications Invalid Response Format 27 Table 6 14 Disable Soft Key Press Notifications Command Format 28 Table 6 15 Key Press Command Format 2...

Page 5: ... is normally controlled using key presses on the remote controls The system can also be controlled using the serial communication interface on the rear of the console and the protocol described in this guide The primary means of controlling the system is by simulating user key presses using the Key Press command see section 6 4 Other commands can query and or modify the states of the system The st...

Page 6: ...us Yes Bose link Room Speakers Muted True False KP RoomStatus Yes Bose link Room Speaker Stream Zone2 Local KP RoomStatus Yes Bose link Room Speaker Volume 0 100 KP RoomStatus Yes Zone1 Source Source Enumerators KP SR Yes Zone 2 Source Source Enumerators KP SR Yes Lower Power Mode True False TimeOut SysRdy Yes Hard Key Press Notifications True False Echo Echo Yes Soft Key Press Notifications True ...

Page 7: ...structure The Client and Console communicate by sending packets The format of each packet is described in section 4 Packet Format LSB Least significant byte The byte of a numeric field which holds the smallest portion of the number For example the number 300 decimal is represented in hexadecimal as 0x012c The least significant byte is 0x2c MSB Most significant byte The byte of a numeric field whic...

Page 8: ... ring and ground connections of the Console connector The DB 9 male connector e g on a PC has pins labeled 1 5 in the top row and 6 9 in the bottom row Pin 2 Receive goes to tip Pin 3 Transmit goes to Ring and pin 5 Ground connects to sleeve See cable figure 1 below The physical signaling uses the standard RS232 serial communication electrical specifications with communication parameters of 19200 ...

Page 9: ...e performed 4 Payload Variable Contains OpCode parameters if needed Last Checksum 1 Contains a checksum Only sent by Client 4 1 1 Length Count of the total number of bytes in this packet including this Length byte the Status OpCode and Payload if present and Checksum if present 4 1 2 Status The status byte consists of single bit flags The bits of this byte are numbered from 7 the most significant ...

Page 10: ...ossible on a debugged Client would be due to packet data corruption loss or timeout When the Console sends an error packet indicating corruption the Client should simply retry the command 4 1 2 2 The Notification Bit The Console occasionally sends Notification packets to indicate internal Console states which are normally not of interest to the Client Thus if the Notification flag bit 3 is set the...

Page 11: ...tor Bit A Bit B A B 0 0 0 0 1 1 1 0 1 1 1 0 Note XOR ing a bit with 0 does not change the bit while XOR ing a bit with 1 inverts the bit Thus a bit in the Checksum can be computed by summing the corresponding bit of each preceding byte The Checksum bit is 1 if there is an odd number of 1s in the corresponding bit of each preceding byte and 0 if there is an even number of 1s For examples see the Ch...

Page 12: ...e Table 4 3 The XOR Operator 5 2 Issuing Commands to the Console To control or query the Console the Client sends a Command packet and waits for packets from the Console The Console does not send a Response packet for all commands but will always send a Ready packet In rare circumstances an Error packet is sent instead of a response but will always be followed by the Ready packet The commands and ...

Page 13: ...epted the command and is ready to receive another command from the Client subject to protocol timings see section 5 4 Protocol Timings The Client must always wait for this packet after issuing a command It is always the same 4 byte packet Console sends 04 Status 01 00 Table 5 1 Ready Packet Format Byte Number Value Hex Name Explanation 0 04 Length The total number of bytes in this packet is 4 1 St...

Page 14: ...acket was received by the Console The packet was invalid because the Console detected a format error or a command not available in Low Power Mode was sent while the Console was in Low Power Mode In a debugged client an error except HARDWARE is generally due to a transmission error or a Console reboot The Client can determine if the Console has rebooted using the Uptime Command see section 6 12 UpT...

Page 15: ...on Packets 02 Assert See Section 5 3 4 2 Assert Notification Packets 04 Key Press Notification See Section 5 3 4 1 Key Press Notification Packets 5 3 4 1 Key Press Notification Packets Key press Notification packets can be enabled or disabled and the state of Hard Key press notifications can be queried using the Echo command See 6 3 Echo Hard and Soft Key Press Notification Key Press Notification ...

Page 16: ...a Key Press Notification packet and the Ready packet does not have the Notification bit set in the Status Byte 5 3 4 2 Assert Notification Packets This packet will only be sent from the Console if a fatal error in the Console has occurred and it indicates the Console will reboot The first four bytes of payload are the Assert code the rest is a zero terminated ASCII string Console sends Length Stat...

Page 17: ... if the Console is in Normal Power Mode 5 4 4 TURN_ON_TIME When the Console is in Low Power Mode all rooms will be off If a command is issued to turn any room on e g a power on or source key press the system will transition to the Normal Power Mode after approximately 12 seconds 5 4 5 ALL_OFF_TIME The console transitions to Low Power Mode after all rooms have been off for approximately 12 minutes ...

Page 18: ... Key Press Notifications 5 6 1 The Console Experiences a Power Interruption If power is interrupted while the Client is communicating the Client may receive a partial or invalid packet A partial packet is detected when less than the number of characters in the Length i e first byte is received before MAX_PACKET_TIME In this case the Client should discard any additional bytes until no bytes are rec...

Page 19: ...n the system is in Normal Power mode and no key presses have been detected by the console for INACTIVITY_TIME see section 5 4 Protocol Timings the console turns OFF That is both Zone1 and Zone2 sources are set to the OFF source If no additional keys are detected for ALL_OFF_TIME see section 5 4 Protocol Timings the Console transitions to Low Power Mode see section 5 5 Low Power Mode 5 7 Sample Com...

Page 20: ...n bit 0 2 3 01 15 OpCode The OpCode of the VO command 4 14 Payload 0x14 is 20 in decimal The Ready Packet would be received after that Console sends 04 07 01 00 See Section 5 3 1 Ready Packet for the format and meaning of each byte The Client can now issue another command after INTER_COMMAND_TIME see section 5 4 Protocol Timings Note The Client can receive Notification packets at any time For exam...

Page 21: ...sum byte The Checksum calculation is detailed in the following table where each byte is converted to binary and the number of 1 bits in corresponding bit positions is summed for all bytes preceding the Checksum byte The Checksum byte is computed by the Client based on the packet data and sent as the last byte of the packet The Console re computes the checksum and compares it with the Checksum sent...

Page 22: ... Client 2 3 04 01 OpCode The Operation Code for the VR command 4 00 Checksum 0x00 0x05 0x00 0x04 0x01 Console sends Length Status 04 01 Console Version Other information Table 6 2 Query Version Response Format Byte Number Value Hex Name Explanation 0 Length Length The total number of bytes in this packet 1 Status Status Error bit 0 Notification bit 0 2 3 04 01 OpCode The Operation Code for the VR ...

Page 23: ...mat Byte Number Value Hex Name Explanation 0 07 Length The total number of bytes in this packet is 7 1 00 Status All Status bits must be zero for packets sent from the Client 2 3 01 15 OpCode The OpCode of the VO set command 4 01 SubCmd A literal value of 0x01 5 V Payload V is a single byte with values from 0x00 0x64 0 100 decimal 6 C Checksum The checksum There is no Console response for this com...

Page 24: ...e responds 05 Status 01 15 V Table 6 6 Query Main Room Volume Response Format Byte Number Value Hex Name Explanation 0 05 Length The total number of bytes in this packet is 5 1 Status Status Error bit 0 Notification bit 0 2 3 01 15 OpCode The OpCode of the VO command 4 V Payload Current Main Room volume Ranges 0x00 0x64 0 100 ...

Page 25: ...y Press Notification packet Note if the Console reboots both Key Press Notification states are reset to disabled 6 3 1 Hard Key Press Notifications 6 3 1 1 Enabling Hard Key Press Notifications To enable Key Press Notification packets whenever hard physical keys are pressed the Client sends the following packet Client sends 07 00 01 1b 01 0d 11 Table 6 7 Enable Hard Key Press Notifications Command...

Page 26: ...ame Explanation 0 05 Length The total number of bytes in this packet is 5 1 Status Status Error bit 0 Notification bit 0 2 3 01 1b OpCode The OpCode of the query key press notification state 4 M Payload Key press notification is disabled M 0 Key press notification is enabled M 0 6 3 2 Soft Key Press Notifications 6 3 2 1 Enabling Soft Key Press Notifications To enable Key Press Notification packet...

Page 27: ... OpCode The OpCode of the Soft Key Press echo command 4 5 4f 4b Response Msg OK Indicates value is in range 0 or 1 6 8 0d 0a 00 Terminator Message terminator CR LF NULL Table 6 13 Enable Disable Soft Key Press Notifications Invalid Response Format Byte Number Value Hex Name Explanation 0 20 Length The total number of bytes in this packet is 32 1 Status Status Error bit 0 Notification bit 0 2 3 04 ...

Page 28: ...mmand Format Byte Number Value Hex Name Explanation 0 0b Length The total number of bytes in this packet is 11 1 00 Status All Status bits must be zero for packets sent by the Client 2 3 01 04 OpCode The OpCode of the Key Press command 4 K Payload The Key Code representing the key See section 7 2 Key Press Codes 5 P Producer A value representing the source of the key press 0 Console 1 RF remote 2 ...

Page 29: ...r Station Command Format Byte Number Value Hex Name Explanation 0 07 Length The total number of bytes in this packet is 7 1 00 Status All Status bits must be zero for packets sent by the Client 2 3 01 4a OpCode The OpCode of the Set Tuner Station command 4 5 Station Payload The station number Sent in the byte order LSB MSB 6 C Checksum The exclusive or XOR of all bytes in this packet including len...

Page 30: ...fication bit 0 2 3 01 49 OpCode The OpCode of the Query Tuner Station command 4 5 Station Station Number The value of the Station number The Least significant byte is first followed by the most significant byte See the calculation in Section 6 6 1 Converting between frequency and station to convert a Station number to a frequency 6 6 1 Converting between frequency and station number The commands t...

Page 31: ...8 200 87700 Integer 624 8 200 87700 Integer 78 200 87700 15600 87700 103300 6 7 Query Current Tuner Preset Use this command to obtain the preset number 1 25 associated with the currently tuned station If there is no preset associated with the currently tuned station the value returned is zero Note This command is not available in Low Power Mode Client sends 12 00 04 03 05 54 55 4e 45 52 50 52 45 5...

Page 32: ...e desired source Note that when a zone is off the source returned will be the OFF source A Zone s source will change to the OFF source when all rooms in that zone are off However the zone source will revert to the previous zone source when the zone becomes active Client sends 08 00 01 0a 00 18 18 03 Table 6 22 Query Zone Source Command Format Byte Number Value Hex Name Explanation 0 08 Length The ...

Page 33: ...Response Format Byte Number Value Hex Name Explanation 0 0c Length The total number of bytes in this packet is 12 1 Status Status Error bit 0 Notification bit 0 2 3 01 4f OpCode The OpCode of the Query RDS Program Service command 4 11 T0 T7 Program Service The eight bytes of the Program Service 6 10 RDS RT Query RDS Radio Text This function allows a radio station to transmit 64 character free form...

Page 34: ...s not ready a key press that will wake the system should be sent and the SysRdy command reissued until the Console responds it is ready To test if the Console is ready to accept commands which can not be issued in Low Power Mode issue the SysRdy command Client sends 07 00 01 1d 00 00 1b Table 6 28 SysRdy Command Format Byte Number Value Hex Name Explanation 0 07 Length The total number of bytes in...

Page 35: ...le responds 08 Status 01 24 Time Table 6 31 UpTime Response Format Byte Number Value Hex Name Explanation 0 08 Length The total number of bytes in this packet is 8 1 Status Status Error bit 0 Notification bit 0 2 3 01 24 OpCode The OpCode of Query System Up Time 4 7 Time Payload The number of milliseconds since the Console last rebooted A four byte unsigned integer sent with the LSB first and MSB ...

Page 36: ... significant seven bits are the room loudness indicator See the note below on how to interpret this value 6 RState SpeakerState A bit field The two least significant bits have a value whose meaning is indicated in the SpeakerState Table Note on interpreting the loudness of a room The volume of a room can be indicated with either the true volume 0 100 or the attenuated value 100 0 The method used d...

Page 37: ... connector INPUT_ID_IN3_HDMI 0x0B Rear HDMI input connector INPUT_ID_IN4 0x0C Rear Analog Coax or Optical input connector INPUT_ID_IN5 0x0D Rear Analog Coax or Optical input connector INPUT_ID_TV 0x0E TV optical audio input connector INPUT_ID_USB0 0x0F Front USB connector INPUT_ID_IPOD 0x10 iPod connector INPUT_ID_INSTALLIQ 0x11 Unify menus INPUT_ID_BOSELINK_1 0x12 Bose link stream 1 input INPUT_I...

Page 38: ...n A Main BOSE_FRONT_AV_SOURCE 0x0A Source Selection A Main BOSE_PARTY 0x0D Select Room A source B O BOSE_TV_SOURCE 0x0E Source Selection All BOSE_IPOD_OTHER 0x0F Select IPOD or untyped sources B O BOSE_INPUT_2 0x12 Source Selection All BOSE_INPUT_3 0x13 Source Selection All BOSE_LAST_CHANNEL 0x14 Previous channel All BOSE_INPUT_4 0x15 Source Selection All BOSE_CHANNEL_PRESET_DOWN 0x18 Channel Pres...

Page 39: ...Menu navigation A Main BOSE_INFO 0x64 The INFO key on Room A remote A Main BOSE_RECORD 0x65 Supported by Control Integration A Main BOSE_PAGE_DOWN 0x68 Page down on iPod or USB List All BOSE_PAGE_UP 0x69 Page up on iPod or USB List All BOSE_SYSTEM_SETUP 0x70 May be useful for key echo notification A Main BOSE_MORE_BUTTONS 0x80 Menu Navigation A Main BOSE_ON_ASSERT 0x8C Turns room ON Not a toggle A...

Page 40: ...pad is pressed and released Only Hard key press codes can be sent using the Key Press command The following key press codes are associated with soft buttons and there is some overlap with the Hard Key Press codes The set of soft buttons available to a user depends on the source Table 7 3 Soft Key Press Codes Key Name Value BOSE_STOP 0x1A BOSE_EXIT 0x30 BOSE_NUMBER_0 0x40 BOSE_NUMBER_1 0x41 BOSE_NU...

Page 41: ...7 BOSE_BLUE 0xC8 BOSE_VOD 0xC9 BOSE_EPG 0xD0 BOSE_ASPECT_RATIO 0xDC BOSE_OPTIONS 0xDD BOSE_MODE_KEY 0xE9 BOSE_INVALID_KEY 0xFF 7 2 3 Key Press Notes There is only one digital audio decoder in the console so for multi room configurations Bose recommends connecting the analog inputs for each source Otherwise when the room A Main Room source is digital e g HDMI rooms B O will hear silence if they are...

Page 42: ...eedback PF 3 17 2010 0 2 Converted commands to tables PF 3 26 2010 0 3 Added Bass Box command PF 4 5 2010 0 4 Removed Bass Box Command and incorporated review comments PF 4 13 2010 0 5 D J Wood s feedback PF 4 27 2010 0 6 Legal TW4566 and TW4550 See Release Notes PF 5 18 2010 0 7 Minor Edits for Alpha PF 5 28 2010 0 8 Updated Version String format Key Press table Added Key Press Notes PF 6 17 2010...

Reviews: