Classe SSP-800 / CT-SSP RS232 Commands

Hi,

I see some old threads on this topic but the original poster didn’t provide the actual code. I wanted to see how hard it is to take the below code and control the device with roomie and a Global Cache PoE to Serial adapter.

I don’t have a Mac so I don’t have access to the editing tools described in the developer’s kit. Any guidance would be appreciated.

Data Format
The RS232 communication with the SSP-800 operates with a UART configuration for 9600 baud, 8 bits, no parity, with one stop bit. System setup for the SSP-800 allows for other baud selections. There is no minimum time between bytes required, as the SSP-800 allows for a 16 byte FIFO. The PC or home controller system similarly must accept status data without delays between bytes from the SSP-800. All command and status data are ASCII bytes.

Command Structure
All commands and status strings follow a format, which include 4 leading bytes, which serve as the address of the command. The address and command fields are separated by a period and zero or more space characters. The end of the command line is identified by a carriage return/line feed.
For the SSP-800, the address field is “S800”. The address data and the period delimiter may be omitted if the controller/PC uniquely connects to the SSP-800. Any commands that are received without an address field are interpreted for local operation.

Command Strings
The command strings consist of all ASCII characters between the period and carriage return.
Leading blanks in the command string are ignored. The following is the list of commands recognized by the SSP-800:

MAIN n change main input to input number n
MINP+ steps to the next input.
MINP- steps to the previous input.
LPSN c sets the current configuration to configuration c
VOLA vv sets volume to absolute vv, or the nearest possible value, mute disengaged
MVOL+ () steps the main volume up from current, mute disengaged
MVOL- (
) steps the main volume down from current, mute disengaged
MUTE if not muted, engage mutes and adjusts volume for main outputs
UNMT if muted, un-mutes and returns to pre-mute volume level at main outs
BALL shift balance 1 dB to left
BALC re-center to even balance
BALR shift balance 1 dB to the right
SUB+ adds 1dB to temporary sub trim
SUB- subtracts 1dB to temporary sub trim
SUB2+ adds 1dB to temporary sub2 trim
SUB2- subtracts 1dB to temporary sub2 trim
SUB3+ adds 1dB to temporary sub3 trim
SUB3- subtracts 1dB to temporary sub3 trim
CNT+ adds 1dB to temporary center trim
CNT- subtracts 1dB to temporary center trim
SRN+ adds 1dB to temporary surround trim
SRN- subtracts 1dB to temporary surround trim
BAK+ adds 1dB to temporary back trim
BAK- subtracts 1dB to temporary back trim
LSY+ adds 1ms to lip sync
LSY- subtracts 1ms from lip sync
LSY0 restores to no added lip sync delay
TRM0 resets temporary channel offset trims to zero
DDLN engages Dolby Digital late night compression
DDNC turns off Dolby Digital late night compression
STBY puts SSP-800 into standby.
OPER puts SSP-800 into operate mode
T1_0 turns off trigger 1
T1_1 turns on trigger 1
T2_0 turns off trigger 2
T2_1 turns on trigger 2
LCD0 sets the front panel LCD to low power “screen saver” mode
LCD1 sets the front panel LCD to low intensity
LCD2 sets the front panel LCD to medium intensity
LCD3 sets the front panel LCD to high intensity
IRC nnn passes IR code nnn, where nnn is the code identified in the SSP-800
IR code table
CSK n Sets skin to „n‟ (1 = Classe, …. 5 = Green)
EQON Activates all defined Room EQ filters
EQOFF Deactivates all defined Room EQ filters as a temporary trim
STAT MAIN request for main volume and input selection
STAT AUTO status requests for automatic status updates
STAT OFF disables automatic status updates
STAT MODE request the current post processing mode.
STAT AUDIO requests current audio signal status
STAT VIDEO requests current video signal status
STAT TEMP requests current internal temperature
STAT VERS requests software version information
STAT AC requests current AC voltage sense information
SCSM requests an e-mail test transmission
AMX AMX auto discovery beacon request
(*) note that in order to use the system acceleration mode, the xVOL +/- commands must be received within 200ms of the system‟s reply (see below)

Replies and Status
The SSP-800 will send a 3 character reply to acknowledge each recognized command. The acknowledgement character is an exclamation point (!) followed by a carriage return and line feed. There is no leading address field for this reply. If the command received by the SSP-800 is not recognized, a question mark character replaces the exclamation point. The reply is generated within 100ms of the receipt of the last command termination character (line feed). If no reply is received at the PC/controller host after 100ms, the command should be reissued.

The following status strings are returned by the SSP-800:

SY PWRUP SSP-800 has completed power up
SY STBY SSP-800 is in standby
SY OPER SSP-800 is in operate
SY VOLA vv Volume is at vv. If mute engaged the string “muted” is appended.
SY VOLR +/- vv same as above, with volume displayed relative to unity gain
SY MAIN n NN SSP-800 is selected to input number n, named NN
SY AUDIO yy zz yy is a numeric value indicating the received audio stream
zz is a numeric value indicating the received sample rate
SY VIDEO zz zz is a numeric value indicating the received video signal
SY TEMP xx xx is the SSP800 internal temperature (degrees Centigrade)
SY AC zzz zzz current AC line voltage
SY VERS vvv vvv is a string showing the software version information
SY MODE n n is a numeric value representing the mode.
SY DLN n n is a numeric value representing Dolby Late Night (0 off, 1 on)
SY SUB10 n n is a numeric value representing the status of the LFE 10dB offset
0 = 0dB, 1 = -10dB
AMXB str str is the AMX auto discovery beacon string.
Refer to the appendixes below for more details on SY AUDIO, SY VIDEO and SY MODE strings.

Appendix A: Audio Streams

SY AUDIO returns 2 numeric values – the first is the stream type, the second is the sample rate.
Stream types are:
RESERVED SY AUDIO 0 zz
DIGITAL_ZERO_SIGNAL SY AUDIO 1 zz
DIGITAL_PCM SY AUDIO 2 zz
DOLBY_DIGITAL SY AUDIO 3 zz
DTS SY AUDIO 4 zz
MPEG SY AUDIO 5 zz
NOISE SY AUDIO 6 zz
ANALOG SY AUDIO 7 zz
DIGITAL_ERROR SY AUDIO 8 zz
DTS_ES_MATRIX SY AUDIO 9 zz
DTS_ES_DISCRETE SY AUDIO 10 zz
DTS96_51 SY AUDIO 11 zz
DTS96_MATRIX SY AUDIO 12 zz
DTS96_DISCRETE SY AUDIO 13 zz
HDMI_AUDIO_MCH SY AUDIO 14 zz
DTS96_24 SY AUDIO 15 zz
DIGITAL_PCM_STEREO SY AUDIO 16 zz
DIGITAL_PCM_MCH SY AUDIO 17 zz
DIGITAL_PCM_96_24 SY AUDIO 18 zz
AAC SY AUDIO 19 zz
AAC_STEREO SY AUDIO 20 zz
AAC_MCH SY AUDIO 21 zz
MP2 SY AUDIO 22 zz
MP3 SY AUDIO 23 zz
DOLBY_DIGITAL_PLUS SY AUDIO 24 zz
DOLBY_TRUE_HD SY AUDIO 25 zz
DTS_MASTER_AUDIO SY AUDIO 26 zz
DTS_HIGH_RESOLUTION SY AUDIO 27 zz
NONE SY AUDIO 28 zz
Sample Rates are:
32k SY AUDIO yy 2
44k SY AUDIO yy 3
48k SY AUDIO yy 4
88k SY AUDIO yy 5
96k SY AUDIO yy 6
192k SY AUDIO yy 7
176k SY AUDIO yy 10

Appendix B: Video Streams
SY VIDEO returns a single value for the video resolution detected

No Signal SY VIDEO 0
480i 4:3 SY VIDEO 1
576i 4:3 SY VIDEO 2
480p 4:3 SY VIDEO 3
576p 4:3 SY VIDEO 4
480i 16:9 SY VIDEO 5
576i 16:9 SY VIDEO 6
480p 16:9 SY VIDEO 7
576p 16:9 SY VIDEO 8
720p 60Hz SY VIDEO 9
720p 50Hz SY VIDEO 10
768p 60Hz SY VIDEO 11
1080i 60Hz SY VIDEO 12
1080i 50Hz SY VIDEO 13
1080p 60Hz SY VIDEO 14
1080p 50Hz SY VIDEO 15
1080p 24Hz SY VIDEO 16
Unsupported SY VIDEO 17
VGA SY VIDEO 18
Appendix C: Post Processing Modes
Mono SY MODE 0
Stereo SY MODE 1
Music Mode Party SY MODE 2
Mono Plus SY MODE 3
Movie Plus SY MODE 4
Music Plus SY MODE 5
Dolby Pro Logic SY MODE 6
Dolby PLIIx Music SY MODE 7
Dolby PLIIx Movie SY MODE 8
Dolby PLIIx Matrix SY MODE 9
Dolby PLIIx Game SY MODE 10
DTS Neo:6 SY MODE 11
DTS Neo:6 Cinema SY MODE 12
DTS Neo:6 Music SY MODE 13
Discrete SY MODE 14
DTS Neo:6 Cinema ES SY MODE 15
DTS Neo:6 Music ES SY MODE 16
Dolby Digital EX SY MODE 17
The modes available for use at any one time are dependent on the source stream.

This looks quite trivial. It can be done in the app. You don’t need the DDK, custom code set editing was added in the app after any ancient post you reference. Just use protocol “Telnet with Linefeeds”.
So an example command might be “MVOL+”. Just like you pasted above. Use the Live Diagnostics window introduced in V8 to debug as needed.

Will responses from the device be handled in the same way?

Custom feedback is a totally separate topic you should ignore for now. You can get the device working in minutes using the info above.