19
2. Serial Commands
The following commands can be used to control the CM900 via COM port 2 (when set to the appropriate mode):
Serial Action Control Protocol (SACP) Version: 2.0 14 February 2019
The Serial Action Control Protocol implemented in some FrontRow devices is intended to be a simple readable
protocol for controlling device state, especially for audio control. It is the little sibling to the CNAP/CACL
interface used over a network. That interface is much more sophisticated and powerful while this serial interface is
intentionally less complex.
All commands in the serial protocol must begin with a hash character (‘#’) and end with a carriage-return (hex value 0D).
Command Description
#AVAn set volume
n a decimal value between 0 and 99 (incl), which sets the main volume
of the audio device to the given level.
The value range used represents a standardized range which can be applied to all devices. Many devices will have
a smaller range of actual settings, but this will be mapped into the standardized range. Thus for all devices 0 will be
the minimum available volume setting, 99/100 will be the maximum setting and 50 will be the middle setting (which
may or may not be half the decible range).
Command Description
#AVA? volume query
The device should return a value between 0 and 100 (incl). The return string should be terminated by a carriage-
return (hex value 0d).
Command Description
#AVDn decrease volume
n an optional value between 1 and 9 (incl); default is 1.
This command decreases the volume by one native step (or by n steps if the optional value is included).(Note that
one native step may be a change of more than one in the standardized range).
Command Description
#AVIn increase volume
n an optional value between 1 and 9 (incl); default is 1.
This command increases the volume by one native step (or by n steps if the optional value is included).(Note that
one native step may be a change of more than one in the standardized range).
Command Description
#AVM? mute query
The device should return a value or either 1 (muted) or 0 (not muted). The return string should be terminated by a
carriage-return (hex value 0d).
Command Description
#AVM toggle the mute state
Turns mute on if currently off, and turns it off if currently on.
Command Description
#AVMn set mute
n a decimal value of either 1 (turn mute on) or 0 (turn mute off).