Page 2
Document history: Version Date Author Comments 18.09.2008 first draft 26.09.2008 Added commands and fixes 01.10.2008 Added commands and fixes 22.10.2008 Added !RPFOCS?, !SRCOFF(X) and !SRCOFF? commands 05.01.2009 Fixed some errors 14.1.2009 Bugfixes and mode categories implemented 27.03.2009 Fixes to the volume ranges 30.03.2009 Fixes to the !AUDIN?
INTRODUCTION The purpose of this document is to describe how the serial control interface of the device works. SERIAL SETTINGS The port settings should always be 8 data bits, no parity and one stop bit. The baud rate can be changed from the user interface. Supported speeds are 9600 (default), 19200, 38400, 57600 and 115200 bits per second.
Page 6
changing (not every volume increment is sent, volume status is sent in 100ms intervals). Feedback level 2: Each command is echoed back with the ‘#’ in front of the command instead of ‘!’ character. For example command “!VOL?<CR>” would return “#VOL?<CR>!VOL(XX)<CR>”.
Page 7
Status Related status request command Power !POWER?<CR> Volume !VOL?<CR> User mute !MUTE?<CR> Source !SRC?<CR> Zone volume !ZVOL?<CR> Zone user mute !ZMUTE?<CR> Zone source !ZSRC?<CR> Zone audio input !ZAUDIN?<CR> Zone video input !ZVIDIN?<CR> Audio input !AUDIN?<CR> Audio type !AUDTYPE?<CR> Audio processing mode !AUDMODE?<CR>...
DIRECT COMMANDS This chapter introduces all the different serial protocol commands. A more detailed usage of the commands is described in chapter 4. Command string Action !POWERONMAIN Main zone power on !POWEROFFMAIN Main zone power off !POWERONZONE2 Zone2 power on !POWEROFFZONE2 Zone2 power off !MUTEON...
Page 9
!ZONE2SHOW Direct low-level command to select non- bypass output to zone 2 component output (same picture main zone shows). NOTE! Overrides UI. Component will not output anything when HDMI is selected. !ZONE2COMP1 Direct low-level command to route component input 1 to zone 2 component output in bypass mode.
Page 10
Command Action string !NUM(X) 0..9 Number button !VOL+ Volume up button !VOL- Volume down button !VOL+(X) 0 – 999 (5 Increase volume by given amount means 0.5dB) !VOL-(X) 0 – 999 (5 Decrease volume by given amount means 0.5dB) !VOL(X) -799 –...
Page 11
!ZSRC(X) 1 – 5 Set given zone source !ZVOL+ Zone volume up button !ZVOL- Zone volume down button !ZVOL+(X) 0 – 1160 (5 Increase zone volume by given means 0.5dB) amount !ZVOL-(X) 0 – 1160 (5 Decrease zone volume by given means 0.5dB) amount !ZVOL(X)
Page 12
2 = Min !DDHDDYN(X) 0 - 1 Dolby TrueHD dynamcis. 0 = Automatic 1 = Off 2 = Force On !TROOFF(X) 1 – 4 Set trigger output to 0V !TROON(X) 3– 4 Set trigger output to 6V. Works only trigger output 3 and 4. !TROHI(X) 1 –...
STATUS REQUESTS Command Return string Description string !PING? !PONG or nothing if This command can be used to device is off determine whether the device is on or off !POWER? !POWER(X) Current power status. 1 = main zone is on 2 = zone2 is on 3 = both main zone and zone2 are on...
Page 14
!TRO(XY) trigger. The format is the same as in previous command. !VIDIN? !VIDIN(X) Currently active video input. Possible values for X: 100 – 10x, Composite video input 200 – 20x, S-Video input 300 – 30x, Component input 400 – 40x, HDMI input !LIPSYNC? !LIPSYNC(X) Current lipsync trimX...
Page 15
!VIDTYPE? !VIDTYPE(XYZ) Current video type. Possible values for X (resolution): 480, 576, 720, 1080 or monitor resolution (e.g. 800x600) Possible values for Y (interlaced or progressive): i means interlaced, p means progressive Possible values for Z (color space): 1 = RGB 4:4:4 2 = YcBcR 4:4:4 3 = YcBcR 4:2:2 4 = YcBcR 16-bit...
Page 16
2000 = 2/0.0 000 = No audio etc… !AUDMODE? !AUDMODE(X) Current audio mode. See chapter 3.2.1. Please note the missing digits for no audio (000)
Page 17
!AUDMODEL? !AUDMODEL(X1,X2…Xn) List of available audio processing modes. See audio processing modes chapter 3.2.2. !MODECAT? !MODECAT(X)”Modecat Current Mode name” Category. See chapter 3.2.2. Returns !MODECAT(0)”-“ if Mode Categories are not used !MODECATS? !MODECATCOUNT(X) Returns available !MODECAT(1)”Modecat mode categories. name” !MODECATCOUNT(0) !MODECAT(2)”Modecat is returned if name”...
Page 18
2 = Force Off !RPFOC? !RPFOC(X)”Focus name” Current room perfect focus point. 0 = Bypass 1 = Focus 1 … 8 = Focus 8 9 = Global !RPFOCS? !RPFOCCOUNT(X) Returns count of !RPFOC(0)”Focus name” available focus !RPFOC(1)”Focus name” positions … accompanied by a list of available focus points...
Page 19
!RPVOI? !RPVOI(X)”Voicing name” Returns current voicing number and name !RPVOIS? !RPVOICOUNT(X) Returns all system !RPVOI(0)”Voicing name” voicings. … !RPVOI(X-1)”Voicing name” !DEVICE? !DEVICE(<string>) where <string> could be “P1” !SWINFO? Dumps SW versions of the system...
AUDIO TYPES Audio type Value No signal Dolby Digital Dolby Digital (EX flagged) Multichannel PCM Multichannel analog Analog stereo Test noise Silent PCM DTS 96/24 DTS ES Matrix DTS ES Discrete DTS ES Discrete 96/24 DTS ES Matrix 96/24 Dolby Digital Plus Dolby True HD Multichannel PCM 7.1 Multichannel PCM 5.1...
AUDIO PROCESSING MODES Processing mode Value (dec) No processing Mono Stereo PLII Movie PLII Music PLIIx Movie PLIIx Music PLIIx Games Dolby Digital EX DTS Neo6 Cinema DTS Neo6 Music Party Downmix to front Dolby Pro Logic II Movie+Downmix to front Table 1 Audio Processing Modes Mode Category...
SERIAL PROTOCOL USAGE Controlling power Main zone and zone 2 power can be controlled separately with commands !POWERONMAIN<CR>, !POWEROFFMAIN<CR>, !POWERONZONE2<CR> and !POWEROFFZONE2<CR>. Please note that zone 2 setup has a power setting that can be set to “Follow Main” or “Independent”. When this power setting is set to “Follow Main”, zone 2 power commands control also main zone power and vice versa.
volume status messages. This period is used not to flood the serial interface with too frequent volume updates every time volume is being adjusted. Commands !ZVOL+<CR>, !ZVOL-<CR>, !ZVOL+(X)<CR>, !ZVOL- (X)<CR>, !ZVOL(Y)<CR>, !ZVOL?<CR>, !ZMUTEON<CR>, !ZMUTEOFF<CR> and !ZMUTE<CR> are used to control zone 2 volume the same way as main zone volume.
Controlling processing modes The P1 processor has two possible operating modes for controlling audio processing mode. When special “Audio Modes” are not used (“Use Audio Modes” in “Audio Mode Setup” is set to “No”), all Dolby, DTS etc.
Page 25
Please note that in this document “Audio Mode” refers to the special Audio Modes and “processing mode” refers to the traditional Dolby and DTS post-processing modes. Audio Modes not used (“Use Audio Modes” in “Audio Mode Setup” is set to “No”) Command !AUDMODEL?<CR>...
Page 26
Commands !AUDMODE+<CR> and !AUDMODE-<CR> are used to select next and previous processing mode from the list of currently available processing modes. Note: This is only true when Audio Modes are not used (see below “Audio Modes used”). Command !AUDMODE(X)<CR> is used to select a specific processing mode, where is a processing mode number as seen from Table 1 from 3.2.2.
Page 27
Modes to give priority to the preferred processing modes (see Installers Manual for more information). Command !MODECATS?<CR> can be used to get a list of Audio Modes configured for the system. For example a response for !MODECATS?<CR> could be: !MODECATCOUNT(4)<CR> !MODECAT(1)"Movie"<CR>...
Update the list of used Audio Modes at least on every boot-up. There is no separate notification delivered when the installer changes the configuration of Audio Modes. Please note that direct processing mode selection is still possible through the serial protocol even if Audio Modes are being used. Selecting direct processing mode in this case is not recommended since the user interface might show mismatching Audio Mode and actual processing mode.
Controlling voicings Command !RPVOIS?<CR> is used to find out the list of selectable voicings along with their names. For example a response for !RPVOIS<CR> is: !RPVOICOUNT(7)<CR> !RPVOI(0)"Neutral"<CR> !RPVOI(1)"Music"<CR> !RPVOI(2)"Music II"<CR> !RPVOI(3)"Relaxed"<CR> !RPVOI(4)"Tilt"<CR> !RPVOI(5)"Action"<CR> !RPVOI(6)"Action+Movie"<CR> It can be seen from the response that there are 7 voicings, named “Neutral”, “Music”, “Music II”, “Relaxed”, “Tilt”, “Action”...
negative values depending on the “processor delay” setting, the range can always be retrieved with the !LIPSYNCRANGE?<CR> command. For example if the “processor delay” is set to 200ms and the range is 250ms, the LIPSYNCRANGE command will return !LIPSYNCRANGE(250,- 200,50)<CR>. Please note that the lipsync trim setting is cleared on every source change, so it is recommended to read the current lipsync setting every time source is changed (!SRC(X)”NAME”<CR>...
Page 31
Command !AUDIN?<CR> is used to find out the used audio input of currently selected source. The response for this command is !AUDIN(XXX)<CR>, where is the current audioo input in numeral form. See table below for the translation of the number to actual audio input.
Video resolutions in Actual video resolution response NTSC (720x480) PAL (720x576) 1280x720 1920x1080 1080 Monitor resolutions 800x600 (etc…) Table of different video resolutions Progressive information Actual status in response Progressive Interlaced Table of different progressive informations Color spaces in response Actual color space RGB 4:4:4 YCbCr 4:4:4...
0, 1 or 2. Controlling Dolby and DTS parameters The P1 controller offers the direct controlling of Dolby and DTS processing parameters using the serial control interface. This enables the possibility for the advanced user to experiment the different settings without having to go deep in to the menu.
Page 34
value of the setting. The response for the command is !PLIICW(X)<CR> where represents the current value of the setting. Command !PLIIDIM(X)<CR> is used to change the value of Dolby Pro Logic IIx dimension setting. The in the command is a decimal number from -3 to 3.
Controlling OSD and OSD menu There are two On Screen Display menus in the P1 controller. The Installer menu is intended to be used by the installer and that menu should not be offered to the end user. The user menu (titled “Menu”) is intended for the daily use of the user.
be picture present if there is no HDMI display connected and the main display shows picture of component, S-video or component video input. Command !ZONEMAINCOMPX<CR> is used to directly switch one of the component inputs to main zone component output in bypass mode. Valid values for are 1, 2, 3, 4 or 5.
Getting trigger status Command !TROS?<CR> is used to get information about current trigger voltage levels. For example the response for this command could be: !TRO(12)<CR> !TRO(22)<CR> !TRO(31)<CR> !TRO(40)<CR> The response consists of status of each trigger in the form of !TRO(XY)<CR>, where is the number of the trigger and is the...
Need help?
Do you have a question about the P1 and is the answer not in the manual?
Questions and answers