Downloads/ Resources

Octopus Control Protocol

By April 12, 2022 No Comments

Octopus Control Protocol

 

Octopus Control Protocol

The Octopus is an installed conferencing beamformer / mixer 19” rack device. The user connects any number of microphones to the unit and uses the output to feed a Video Codec device and/or telephone line and/or PC VoIP applications.

The unit operates in a large conference environment and can be controlled by a dedicated controller through RS232 with the following parameters: Baud Rate=9,600; 8 data bits, 1 stop bit; no parity; no flow control. The protocol is implemented using ASCII characters.

The Protocol

Each command is 16 characters long followed by Carriage Return (Hex 0D – denoted here as 0x0D).
Following each command, the Octopus sends back a feedback message in the same format as the command itself.
There are two functions that the Control unit is expected to control:
  • System Volumes (transmit and receive) and Mute.
  • Telephone dialer

 

Volumes and Mute

 

The Volume functions can be controlled through a Volume Slider, Knob or any other UI graphic element (see example). The Mute function can be controlled through a Radio Box, Check Box or any other UI graphic element.
The system can accept volume levels ranging from 0 (minimum level equivalent to Mute) to 18 Hex (24 in decimal maximum level).
The control unit should “get” the initial state of the volume level and mute status as soon as the communication is established, and place the volume sliders and Mute indicator accordingly. Following, whenever the user moves the slider, the appropriate command should be sent to the Octopus.
The following commands are available:
  • Get Transmit/Receive Volume
  • Get Transmit/Receive Mute
  • Set Transmit/Receive Volume
  • Set Transmit/Receive Mute
  • Save Settings
Following are the details of the Volume/Mute commands

 

Get Volume

 

Get Transmit Volume – reads the current status of the microphone volume. The control unit should place the volume slider accordingly
Command: ‘F013040000000000’,0x0D
The unit returns the following feedback: ‘F01304VV00000000’0x0D where VV is the volume level (ASCII of the Hex representation 0x00-0x18)
 
Get Receive Volume – reads the current status of the speaker volume. The control unit should place the volume slider accordingly
Command: F013020000000000’,0x0D
The unit returns the following feedback: ‘F01302VV00000000’0x0D where VV is the volume level (ASCII of the Hex representation 0x00-0x18)

 

Get Mute

 

 
Get Transmit Mute – reads the current status of the microphone Mute. The control unit should set the Mute indicator accordingly.
Command: ‘F013240000000000’,0x0D
The Octopus returns the following feedback ‘F013240M00000000’,0x0D where M=1 means the Octopus’s microphone is muted and M=0 means the microphone is open.
Get Receive Mute – reads the current status of the speakers Mute. The control unit should set the Mute indicator accordingly
Command: ‘F013220000000000’,0x0D
The Octopus returns the following feedback ‘F013220M00000000’,0x0D where M=1 means the Octopus’s speakers are muted and M=0 means the speakers are on.

 

Set Volume:

 

Set Transmit Volume – sets the microphone volume according to the volume slider.
Command: ‘F01203VV00000000’,0x0D followed by ‘F01207VV00000000’,0x0D followed by ‘F01204VV00000000’,0x0D, where VV is the ASCCI representation of the Hex volume level, ranging from 0x0 to 0x18. The unit will return the same command as feedback.
 
Set Receive Volume – sets the speakers volume according to the volume slider
Command: ‘F01201VV00000000’,0x0D followed by ‘F01202VV00000000’,0x0D, where VV is the ASCCI representation of the Hex volume level, ranging from 0x0 to 0x18. The unit will return the same command as feedback.

 

Set Mute:

 

 
Transmit Mute – Mutes the microphone
Command: F012230100000000’,0x0D followed by F012270100000000’,0x0D followed by F012240100000000’,0x0D
Transmit UnMute – opens (UnMutes) the microphone.
Command: F012230000000000’,0x0D followed by F012270000000000’,0x0D followed by F012240000000000’,0x0D
Receive Mute – Mutes the speakers
Command: F012210100000000’,0x0D followed by F012220100000000’,0x0D
Receive UnMute – UnMutes the speakers
Command: F012210000000000’,0x0D followed by F012220000000000’,0x0D

 

Save Setting

 

Save Settings save volume and Mute settings to DSP non-volatile memory. This command guarantees that the settings are saved and the unit will use them next time it is turned on.
Command: ‘B100000000000000’,0x0D

 

Dialer

 

The Octopus supports an optional telephone (PSTN) interface card. The user should be able to use the control unit to dial out, take a call, redial, pause and flash.
Note: the off_hook/on_hook button is a toggle function and the Octopus does not know if the hook is on or off. Therefore the Octopus cannot instruct the control unit to change the buttons color from green to red. The only indication the user will get is the dial tone.
An example of UI graphic is demonstrated here. A more advanced UI graphics, including display of the digits and numbers dialed is recommended as it improves the controllability of the unit.

The following table details the commands that should be send to the Octopus upon a push of any of the dialer buttons:
Function Command
0 ‘F00C000601000000’,0x0D
1 ‘F00C000601000001’,0x0D
2 ‘F00C000601000002’,0x0D
3 ‘F00C000601000003’,0x0D
4 ‘F00C000601000004’,0x0D
5 ‘F00C000601000005’,0x0D
6 ‘F00C000601000006’,0x0D
7 ‘F00C000601000007’,0x0D
8 ‘F00C000601000008’,0x0D
9 ‘F00C000601000009’,0x0D
* ‘F00C00060100000E’,0x0D
# ‘F00C00060100000F’,0x0D
Pause ‘F00C000601000015’,0x0D
Redial ‘F00C000600000001’,0x0D
Flash ‘F00C000600000002’,0x0D
On/Off Hook (Toggle) ‘F00C000600000004’,0x0D