“Lexicon” and the Lexicon logo are registered trademarks of Harman International Industries.
U.S. patent numbers and other worldwide patents issued and pending.
“LOGIC7” and the L7 logo are registered trademarks of Harman International Industries. U.S.
patent numbers and other worldwide patents issued and pending.
The information it contains is subject to change without notice. Harman Specialty Group assumes
no responsibility for errors that may appear within this document.
Lexicon
3 Oak Park
Bedford, MA 01730-1413 USA
Telephone: 781-280-0300
Fax: 781-280-0490
www.lexicon.com
Customer Support
Telephone: 781-280-0300
Sales Fax: 781-280-0495
Service Fax: 781-280-0499
MC1/DC2 Serial Port Definition, Protocol Version 0.5
070-14773 Manual, Owner’s, MC12/MC12B
1.1 Change List
9/23/02 Added this paragraph.
9/23/02 Changed “7.9 MC12 V1.10 Parameter ID List” to “7.9 MC12 V2.00 Parameter ID List”
9/23/02 Updated Parameter Id Reference Table 7.9 MC12 V2.00 Parameter ID List for V2.00 s/w.
9/23/02 Updated Appendix J MC-12 Mode Ids for new V2.00 modes.
9/24/02 Updated 7.3.36.4 Parameter Definition Response Packet for correct CurrentValue length.
9/24/02 The range of the PARAM_TYPE_UINT32 parameter type has been corrected.
9/24/02 Updated
9/24/02 Updated
10/2/02 Updated
6/10/03 Updated Parameter Id Reference Table
6/10/03 Updated
6/10/03 Updated 7.1.4 MC-1 Parameter Change (MC-12, MC-1) to reflect the disabled default state.
6/10/03 Added paragraph 7.1.5.4
2/4/04 Updated Paragraph 7.3.50 to correctly reference the Definition/Conversion:
Mode Ids
7/9/04 Updated Parameter Id Reference Table
7/9/04 Added Direct Mode Ir code Table. Ir codes are not support by the actual remote control.
6/30/05 Updated Parameter Id Reference Table
6/30/05 Added Dolby PLIIx Direct Mode Ir codes Table. Ir codes are not support by the actual remote
control.
Appendix H MC-12 to MC-1 Effect Map to reflect added modes in V2.0.
Appendix I MC-1 to MC-12 Effect Map to reflect added modes in V2.0.
Appendix D MC-12 IR Codes to reflect added button functionality for V2.0.
7.9 MC12 V3.00 Parameter ID List for V3.00 s/w.
Appendix J MC-12 Mode Ids for new V3.00 modes.
Defaults to show parameters that are defaulted for notification.
Appendix J MC-12
7.9 MC12 V4.00 Parameter ID List for V4.00 s/w.
7.9 MC12 V5.00 Parameter ID List for V5.00 s/w.
2 Definitions
User Parameter: A user changeable variable that stores a specific value that describes an
operating condition for the MC-12 system.
HOST: The device initiating or receiving the serial communication packets to/from the
MC-12.
MC-12 ,MC-1,DC-2: The Lexicon product receiving or transmitting the serial communication packets
to/from the HOST.
Nonvolatile RAM: The area of memory in an MC-12 that stores users adjustable parameters. The
Nonvolatile RAM is battery backed, to maintain values during MC-12 power
down.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
2.1 Protocol Version Cross-reference
All references to MC-12 shall be valid for both the MC-12 and SDP-40 products unless specifically
documented otherwise. All references to MC-1 shall be valid for the MC-1, DC-2 and SDP-3 products
unless specifically documented otherwise.
3 Abbreviations
SOP Start of Packet
EOP End of Packet
ACK Acknowledge
NAK No Acknowledge
FPD Front Panel Display
4 General Description
The intention of the MC-12 serial port and protocol communication is for an external connected HOST to
control and obtain status from the MC-12. The protocol has been designed to focus on two specific goals.
The first is HOST uploading and downloading of MC-12 configuration, and system/effect setups. The
second is HOST control of basic user adjustable parameters.(i.e. input, volume, balance…)
HOST
The MC-12 uses simple notification, command, response and acknowledgment packets to have
communication transactions with a given HOST. This protocol is designed for point to point
communication between a HOST and MC-12. The MC-12 Protocol is a 3 layered system. The MC-12
serial protocol allows for the MC-12, or the HOST, to initiate a communication transaction. Most
transactions are initiated by the HOST. MC-12 then responds to the HOST command with either a
response or acknowledgment packet. There are a few asynchronous notifications that MC-12 initiates
indicating system changes. Each transaction initiated must wait for a corresponding response before
initiating the next transmission.
The 3 protocol layers are Physical, Data Link, and Application Layers.
The MC-12 Serial Protocol attempts to be as backward compatible with the MC-1 as possible. This
document will try to inform the user/programmer of the consistencies and differences between the MC-1
protocol and the MC-12 protocol. The basic structure of the protocol has not changed. A number of
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
command/responses/notifications packets have been implemented exactly as they were in the MC-1. These
commands may not fully exercise the functionality of the MC-12 (i.e. Mc-1 has 8 inputs that have been
mapped to 8 of the 12 inputs on the MC-12, MC-1 IR codes are not the same as MC-12 IR codes) In the
case of these commands additional MC-12 commands have been added to fully implement the MC-12
functionality. In addition, some the internal structure of the MC-12 has forced the protocol to be unable to
support some MC-1 commands. These commands have been totally replaced with new commands that
provide more control over the MC-12 than was capable in the MC-1. (Parameter Set/Get commands)
The MC-12 will detect parity, framing and data overrun errors. If any of the physical layer errors are
detected, the complete packet is corrupted and the MC-12 will reset the transaction and begin to look for a
start of packet byte.
5.4 MC-12 Receive Buffer
The MC-12 has an internal receive buffer. The buffer is 256 Bytes and will transmit a NAK packet with an
error code of DC_ERR_BUFFER_FULL to the HOST if the buffer is full. If the buffer is full, all data
transmitted to the MC-12 will be ignored. Therefore, making the currently transmitted packet, if partially
transmitted invalid.
5.5 MC-12 Hardware Verification (V1.10, Not Supported in MC-12 V1.00, V1.01)
This test verifies the RS232 ports are working by comparing the transmitted signal (at pin 2) to the
received signal (at pin 3). The MC-12 transmits a known test signal just following a power up. The MC-12
monitors the serial port receivers while transmitting the test signal. If the signals are the same, the test
passes. In order to test this circuit, RS232 Wraparound plug(s) are needed and must be installed at the
female D9 connector(s) on the rear panel of the MC-12 labeled “RS232”. The wraparound plug shorts pins
2 to 3, allowing for the MC-12 to receive the signal it is transmitting. Once installed, power cycle the MC12 and verify the following message is displayed on the FPD:
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
SERIAL PORT A PASSED
SERIAL PORT B PASSED
This message is displayed for about 2 seconds before entering normal operating mode. If no messages are
displayed, then both wrap tests failed.
6 Data Link Layer
The data link layer is used to define a transmission packet. The layer appends a header and tail that
encloses the transmitted application packet data. The data link header will contain the start of packet byte
and count of bytes to follow. The data link tail will contain the end of packet byte.
Data Link Header:
Byte Number Description Value
First Byte(0) Start of Packet (SOP) 0xF1
Byte(1) DLL Data Count nn
Application Header:
Byte(2) Command nn
Byte(3)
Application Data:
Byte(4) Data[0] nn
Byte(5) Data[1] nn
… Data[…] nn
Last Data Byte -1 Data[Data Count -1] nn
Data Link Tail:
Last Byte End of Packet (EOP) 0xF2
APP Data Count (number of application data bytes to
Follow)
nn
6.1 Errors
If the number of DLL data bytes received is the same as the data count and an EOP has not been received,
the MC-12 responds by transmitting a NAK packet with an error code DC_ERR_INVALID_PACKET.
The MC-12 then continues to look for a SOP byte and will not process the erroneous application packet.
The HOST can use this as an indicator to retransmit the corrupted packet.
In addition, each byte of a packet must be received sequentially and within the INTER_PACKET_TIME.
If any of the bytes within a packet transmission exceeds the INTER_PACKET_TIME, the MC-12 will
respond by transmitting a NAK packet with an error code DC_ERR_INVALID_PACKET. The MC-12
then continues to look for a SOP byte and will not process the erroneous application packet. The HOST
can use this as an indicator to retransmit the corrupted packet.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7 Application Layer
7.1 MC-12 Asynchronous Notification Packets
MC-12 has been designed to transmit the asynchronous notification packets following these system
changes:
1. Power On
2. Entering Standby
3. Front Panel Display update
4. Parameter Value Changes.
The notification packets are defined as follows:
7.1.1 Wakeup Notification (MC-12, MC-1)
By transmitting the Wakeup Notification, MC-12 indicates the unit has just “powered on” or reset and is
ready to receive host commands. This notification is primarily for the HOST to know the status of the MC-
12.
7.1.1.1 Notification Packet Description
Application Header:
Command DC_WAKEUP 0x01
Data Count 0 0x00
Application Data:
N/A
7.1.1.2 Host Response
The MC-12 does not expect any response from the HOST.
7.1.2 Sleep Notification (MC-12, MC-1)
By transmitting the Sleep Notification, MC-12 indicates the unit is shutting down into a standby mode.
Because the hard power switch could be activated independently of the MC-12 system software, hard
power down will not be notified. Acknowledgment of the Sleep Notification is not required. This
notification is primarily for the HOST to know the operating status of the MC-12.
7.1.2.1 Notification Packet Description
Application Header:
Command DC_SLEEP 0x02
Data Count 0 0x00
Application Data:
N/A
7.1.3 Front Panel Display (MC-12, MC-1)
MC-12 will transmit the front panel display buffer following the update to the MC-12 front panel display.
The MC-12 front panel display is 2 X 20 ASCII character display. The HOST can enable transmission of
this notification message by sending Host Wakeup (7.3.29). To disable transmission the HOST can send
Host Sleep (7.3.30). Transmission of the display buffer is asynchronous to other host/MC-12
Data Type: Null (0x00) terminated ASCII character string.
Max Length: DISP_LINE_LENGTH defined in
Line2
Data Type: Null (0x00) terminated ASCII character string.
Max Length: DISP_LINE_LENGTH defined in
The MC-12 includes 8 custom characters that are defined to display increments of a display block. (i.e.
Volume Bar) The custom characters are ASCII character codes 8E - 93(hex). The codes are used as
follows:
'8E' - empty cell
'8F' - left 1 bar
'90' - left 2 bars
'91' - left 3 bars
'92' - left 4 bars
'93' - full cell
Appendix G Protocol Constants.
Appendix G Protocol Constants.
7.1.3.3 HOST Response
The MC-12 does not expect any response from the HOST.
7.1.4 MC-1 Parameter Change (MC-12, MC-1)
MC-12 will transmit predetermined parameter change notifications. If a parameter value is changed due to
any user action or system action the MC-12 will transmit the current value of the parameter that is
changing.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in the
Supported System Parameters table listed below.
The MC-12 with s/w V3.0 will disable this notification by default.
This notifications can be enabled and disabled by using the commands described in
Communication Configuration (MC-12, MC-1)
.
MC-1)
and 7.3.32 Set Communication Configuration (MC-12,
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.1.4.1 Notification Packet Description
Application Header:
Command DC_PARAM_CHG_MSG 0x04
Data Count 2 0x02
Application Data:
Data[0] ParamId nn
Data[1] Value nn
7.1.4.2 Data Description
ParamId:
Data Type: Unsigned 8 bit integer
Max: 255.
Value:
The Current Value for this system parameter.
Data Type: Unsigned 8 bit integer
Max: Set by the Max Value per the Parameter Definition response Packet for
the Parameter Id of this packet.
7.1.4.3 HOST Response
The MC-12 does not expect any response from the HOST.
7.1.4.4 Supported System Parameters
The following parameters will be supported by this Parameter Change Notification:
Parameter MC-12 Parameter
Name
Current Effect PROGRAM 1
Mute MUTE 3
System Volume VOLUME 5
Balance LR_BALANCE 6
Input Selection INPUT 7
Record/Zone 2 On/Off RECORD_ENABLED 18
Zone 2 Volume Z2_VOL 154
Zone 2 Balance Z2_BAL 156
Zone 2 Mute Z2_MUTE 157
Bass BASS 167
Treble TREBLE 168
Loudness LOUDNESS 169
Tilt TILT 174
Menu Background On/Off MENU_BKGND 190
Note: The Record/Zone 2 On/Off only applies to the MC-12 Record zone. The Zone 2 Volume, Zone 2
Balance and Zone 2 Mute only apply to the MC-12 Zone-2.
For Input Parameter Change Notifications the Input Value is a MC-12 to MC-1 input mapping, as shown in
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Parameter MC-12 Parameter Name
Current Mode
Main Zone Mute
Main Zone Volume
Main Zone Balance
Main Zone Input Selection
Zone 2 Input
Zone 2 Volume
Zone 2 Balance
Zone 2 Mute
Bass
Treble
Loudness
Tilt
Menu Background On/Off
MC12 V5.00 Parameter ID List for the Parameter ID definitions.
See
PARAM.MAIN.EFFECT
PARAM.MAIN.MUTE
PARAM.MAIN.VOLUME
PARAM.MAIN.BALANCE
PARAM.MAIN.INPUT
PARAM.ZONE.INPUT
PARAM.ZONE.VOLUME
PARAM.ZONE.BALANCE
PARAM.ZONE.MUTE
PARAM.MAIN.BASS
PARAM.MAIN.TREBLE
PARAM.MAIN.LOUDNESS
PARAM.MAIN.TILT
PARAM.OSD.BACKGND
7.2 Acknowledgment Packets
Acknowledge and No Acknowledge packets are used to communicate transmission, packet and data
validation status. Both the HOST and MC-12 can transmit and receive these packets.
7.2.1 Acknowledge (MC-12, MC-1)
7.2.1.1 Packet Description
Application Header:
Command DC_ACK 0xE0
Data Count 10x01
Application Data:
Data[0] Command nn
7.2.1.2 Data Description
Command:
DataType: Valid MC-12 command as defined in
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.2.2 No Acknowledge (MC-12, MC-1)
7.2.2.1 Packet Description
Application Header:
Command DC_NACK 0xE1
Data Count 20x02
Application Data:
Data[0] Command nn
Data[1] ErrorCode nn
7.2.2.2 Data Description
Command:
DataType: Valid MC-12 command as defined in
ErrorCode:
DataType: Error code as defined in
Appendix B Error Codes.
Appendix A Command Codes.
7.3 Host Initiated Command Packets
The MC-12 serial communication protocol has been designed to respond to the following commands as
described below. Each command is transmitted to the MC-12 with the identified parameters. If the
command is successfully received and processed by the MC-12, the unit will respond with the described
response packet or action.
7.3.1 Reset Unit (MC-12, MC-1)
Commands the MC-12 to soft reset.
7.3.1.1 Command Packet Description
Application Header:
Command DC_CMD_RESET 0x10
Data Count 0 0x00
Application Data:
N/A
7.3.1.2 MC-12 Response
The MC-12 will perform an internal reset. After reset the MC-12 will go through a soft power-up
initialization. This includes transmitting the “Wakeup Notification Packet”. A soft reset does not
reinitialize the MC-12. Nonvolatile RAM is maintained.
7.3.2 Restore (MC-12, MC-1)
Commands the MC-12 to restore the system and effect parameters to the factory defaults.
7.3.2.1 Command Packet Description
Application Header:
Command DC_CMD_RESTORE_DEFAULTS 0x13
Data Count 0 0x00
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.2.2 MC-12 Response
The MC-12 will reset, clear any saved system and effect parameters in Nonvolatile RAM, and restore the
factory default system and effect parameters. After reset the MC-12 will go through a soft power-up
initialization. This includes transmitting the “Wakeup Notification Packet”.
7.3.3 MC-1 Send IR Command (MC-12, MC-1)
Transmits MC-1 IR command key codes to the MC-12.
This command has been maintained for backward compatibility to the MC-1. The MC-1 IR code
functionality has been mapped to the MC-12 IR code functionality as per the MC-1 to MC-12 IR code
table. MC-12 users should use the command described in
7.3.3.1 Command Packet Description
Application Header:
Command DC_CMD_IR 0x14
Data Count 1 0x01
Application Data:
Data[0] KeyCode nn
7.3.40 (MC-12_Send_IR_Command).
7.3.3.2 Data Description
KeyCode:
Data Type: Unsigned 8 bit integer
Valid Values:
Appendix C MC-1 IR-Codes
7.3.3.3 MC-12 Response
The KeyCode is processed as a valid IR code. No acknowledgment will be sent from MC-12.
7.3.3.4 Data Validation
The KeyCode data will be verified as a legal IR code. If the Code is not valid the MC-12 will not respond.
7.3.4 Get Unit Configuration (MC-12, MC-1)
Request to MC-12 for its current unit configuration.
This command is supported for backward compatibility. MC-12 users should use the command described
7.3.39 (MC-12_Get_Unit_Configuration). MC-12 will respond with “Unit Configuration Packet”. The
in
HOST should use this information to determine if any information saved by the HOST is current.
*Note: SW level indicates the status of the MC-12 internal application software.
Software Major Revision: An unsigned integer value indicating the unit’s major software version. The
host should use this information to determine if new effects, effect parameters,
or system parameters have been added or removed.
Software Minor Revision: An unsigned integer value indicating this unit’s minor software version.
Indicates the units software operation has changed but effects, effect parameters,
or system parameters have not changed.
Protocol Major Revision: An unsigned integer value indicating the serial communication protocol major
version. The host should use this value to determine if new commands,
notifications, or response packets have been added or deleted from this
specification.
Protocol Minor Revision: An unsigned integer value indicating the serial communication protocol minor
version. The host should use this value to determine if the existing commands,
notifications, or response packets have changed in this specification
Total Number of Effects: An unsigned integer value indicating the maximum number of effects available
for this version of software. This should be used to determine the maximum
EffectId used in the “Get Effect Definition Packet”, “Get Effect Parameter
Definition Packet”, “Set Effect Name Packet”, and “Set Effect Parameter
Values Packet”.
TimeStamp: Is a null terminated ASCII text string describing the build date and time of the
current software build. The Format of this text string is:
“yy/mm/dd(sp)hh:mm”
yy- is the last two digits of the year (i.e. year 1999 = 99, year 2000 = 00)
mm - is the month
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
dd- is the day
(sp) - is an ASCII space character (0x20)
hh - is the hour
mm - is the minute
7.3.5 Get System Status (MC-12, MC-1)
Request to MC-12 for its current system status. MC-12 will respond with “System Status Packet”.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
7.3.5.1 Command Packet Description
Application Header:
Command DC_CMD_GET_SYS_STATUS 0x16
Data Count 0 0x00
Application Data:
N/A
7.3.45 (MC-12_Get_System_Status).
7.3.5.2 System Status Response Packet
Application Header:
Command DC_RESP_SYS_STATUS 0x81
Data Count 10 0x0A
Application Data:
Data[0] System Volume nn
Data[1] Current Input nn
Data[2] Current Effect Id nn
Data[3] Current Input Sample Rate nn
Data[4] Current Input Format nn
Data[5] Mute Active nn
Data[6] Effect Bypass nn
Data[7] Left/Right Balance nn
Data[8] Front/Back Balance nn
Data[9] Video Synch nn
7.3.5.3 Data Description
System Volume:
Data Type: Unsigned 8 bit integer.
Maximum Value: 92
Conversion: 0 = -80 dB
92 = +12 dB
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.6 Get Zone 2 Status (MC-12, MC-1)
This command is a request to MC-12 for current Zone 2 Status. MC-12 will respond with “Zone2 Status
Packet”.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
7.3.6.1 Command Packet Description
Application Header:
Command DC_CMD_GET_ZONE2_STATUS 0x17
Data Count 0 0x00
Application Data:
N/A
7.3.6.2 Zone2 Status Response Packet
Application Header:
Command DC_RESP_ZONE2_STATUS 0x82
Data Count 5 0x05
Application Data:
Data[0] Zone2 Volume nn
Data[1] Assigned Zone 2 Input nn
Data[2] Zone2 Mute Active nn
Data[3] Record Active nn
Data[4] Zone2 Balance nn
7.3.46 (MC12_Get_Zone_2_Status).
7.3.6.3 Data Description
Zone2 Volume:
Data Type: Unsigned 8 bit integer.
Maximum Value: 92
Conversion: 0 = -80 dB
92 = +12 dB
Assigned Zone 2 Input:
Indicates the Zone 2 input that is currently assigned for the zone 2 outputs.
Data Type: Unsigned 8 bit integer.
Definition/Conversion:
Zone2 Mute Active:
Data Type: Boolean.
TRUE: Zone2 Outputs are active.
FALSE: Zone 2 Outputs are not active.
Record Active:
Data Type: Boolean.
TRUE: Record Zone Output is active
FALSE: Record Zone Output is not Active.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Max Length: CUSTOM_NAME_LENGTH defined in
Appendix G Protocol Constants.
7.3.13 Get Input Name by Id (MC-12, MC-1)
This command is a request to MC-12 for the custom input name. MC-12 will respond with “Input Name
Packet”.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
(MC12_Get_Input_Name_By_Id).
7.3.13.1 Command Packet Description
Application Header:
Command DC_CMD_GET_INPUT_NAME 0x2D
Data Count 1 0x01
Application Data:
Data[0] InputId nn
7.3.13.2 Data Description
InputId:
Data Type: Unsigned 8 bit Integer
Definition/Conversion:
Appendix F MC-12 Input Ids
7.3.54
7.3.13.3 Data Validation:
The InputId must be a valid Input number. If it is not the MC-12 will respond with a NAK packet and
error code DC_INVALID_INPUT.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.15 Set System Parameter Values (MC-1)
This command is not supported by the MC-12.
7.3.16 Set Effect Parameter Values (MC-1)
This command is not supported by the MC-12.
7.3.17 Set Effect Name by Effect Id (MC-1)
This command is not supported by the MC-12.
7.3.18 Set System Volume (MC-12, MC-1)
This command is a request to the MC-12 to set the system volume with the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
(MC12_Set_System_Volume).
7.3.47
7.3.18.1 Command Packet Description
Application Header:
Command DC_CMD_SET_SYS_VOLUME 0x21
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.18.2 Data Description
Value:
Data Type: Unsigned 8 bit integer.
Max: 92
Conversion: 0 = -80 dB
92 = +12 dB
7.3.18.3 MC-12 Response
The MC-12 will assign the value from the packet to the system volume.
7.3.18.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.19 Set Main Balance (MC-12, MC-1)
Commands MC-12 to set the system balance to the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.19.1 Command Packet Description
Application Header:
Command DC_CMD_SET_SYS_BALANCE 0x22
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.19.2 Data Description
Value:
Data Type: Unsigned 8 bit integer.
Maximum Value: 32
Conversion: 0 = Left
16 = Center
32 = Right
7.3.19.3 MC-12 Response
The MC-12 will assign the value from the packet to the system balance.
7.3.19.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.20 Set Front/Back Balance (MC-12, MC-1)
Commands MC-12 to set the front/back balance to the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
(MC12_Set_Front_Back_Balance).
7.3.20.1 Packet Description
Application Header:
Command DC_CMD_SET_FRONT_BACK_BALANCE 0x23
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.20.2 Data Description
Value:
Data Type: Unsigned 8 bit integer.
Max: 32
Conversion: 0 = Front
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
The MC-12 will assign the value from the packet to the front/back balance.
7.3.20.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.21 Set Active Effect by Id (MC-12, MC-1)
This command requests the MC-12 to set the active effect to the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
(MC12_Set_Active_Effect_By_Id).
7.3.21.1 Command Packet Description
Application Header:
Command DC_CMD_SET_EFFECT 0x24
Data Count 1 0x01
Application Data:
Data[0] EffectId nn
7.3.50
7.3.21.2 Data Description
EffectId:
Data Type: Unsigned 8 bit integer
Definition/Conversion:
Appendix I MC-1 to MC-12 Effect ID Map.
7.3.21.3 MC-12 Response
The MC-12 will load the desired effect.
7.3.21.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.22 Set Record Input (MC-12, MC-1)
Sets the Record input.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Application Header:
Command DC_CMD_SET_REC_INPUT 0x25
Data Count 1 0x01
Application Data:
Data[0] InputId nn
7.3.22.2 Data Description
InputId:
Data Type: Unsigned 8 bit Integer
Description/Conversion:
Appendix F MC-12 Input Ids
7.3.22.3 MC-12 Response:
If the Input Id is a valid MC-12 input then the MC-12 will make the request Input the active record input.
7.3.22.4 Data Validation:
The InputId must be a valid Input Id. If it is not the MC-12 will respond with a NAK packet and error
code DC_INVALID_INPUT. If the input is assigned the MC-12 will respond with an ACK Packet.
7.3.23 Clear Record Input (MC-12, MC-1)
Clears or unassigns the Record input. If Record is active, this command will set the Record Input to OFF
7.3.23.1 Packet Description
Application Header:
Command DC_CMD_CLEAR_REC_INPUT 0x26
Data Count 1 0x01
Application Data:
Data[0] InputId nn
7.3.23.2 Data Description
InputId:
This value is not used by MC-12.
Data Type: Unsigned 8 bit Integer
7.3.23.3 MC-12 Response
The MC-12 will set the active record input to OFF.
7.3.23.4 Data Validation
The InputId is not used.
7.3.24 Set Zone2 Volume (MC-12, MC-1)
Commands MC-12 to set the Zone 2 volume with the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.24.1 Command Packet Description
Application Header:
Command DC_CMD_SET_ZONE2_VOLUME 0x27
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.24.2 Data Description
Value:
Data Type: Unsigned 8 bit integer.
Max: 92
Conversion: 0 = -80 dB
92 = +12 dB
7.3.24.3 MC-12 Response
The MC-12 will assign the value from the packet to the Zone 2 volu me.
7.3.24.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.25 Set Zone2 Left/Right Balance (MC-12, MC-1)
Commands MC-12 to set the Zone 2 balance to the value in this packet.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
(MC12_Set_Zone2_Left_Right_Balance).
7.3.25.1 Packet Description
Application Header:
Command DC_CMD_SET_ZONE2_BALANCE 0x28
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.25.2 Data Description
Value:
Data Type: Unsigned 8 bit integer
Max: 32
Conversion: 0 = Left
32 = Right
7.3.53
7.3.25.3 MC-12 Response
The MC-12 will assign the value from the packet to the Zone 2 balance.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.25.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.26 Set Custom Name (MC-12, MC-1)
Sets the Custom Name that can be displayed when the unit powers up.
7.3.26.1 Packet Description
Application Header:
Command DC_CMD_SET_CUST_NAME 0x2C
Data Count
Application Data:
Data[0] CustomNameEnable nn
Data[1]-Data[DataCount-1] CustomName ch ch ch … 0x00
7.3.26.2 Data Description
CustomNameEnable: Enables/Disables the Custom Name Display.
DataType: Boolean
TRUE: CustomName Enabled
FALSE: CustomName Disabled
CustomName:
Data Type: Null (0x00) terminated ASCII character string.
Max Length: CUSTOM_NAME_LENGTH defined in
Number of characters in
CustomName + 2
Appendix G Protocol Constants.
nn
7.3.26.3 MC-12 Response
If the custom name enable is TRUE then the custom name banner is display on “power on”. If the Custom
Name Enable is FALSE the custom name is not displayed. The CustomName string is copied to
Nonvolatile RAM. The MC-12 will ACK when completed with this command.
7.3.26.4 Data Validation:
No data validation is done on the transmitted data.
7.3.27 Set Input Name by Id (MC-12, MC-1)
Sets an Input Name to the transmitted value for a given input.
This command has been maintained for backward compatibility with MC-1. In order to maintain backward
compatibility, the MC-12 Parameters have been mapped to the MC-1 parameters as described in each Data
Description. MC-12 users should be using the command described in
Data Type: Null (0x00) terminated ASCII character string.
Max Length: INPUT_NAME_LENGTH defined in
Appendix F MC-12 Input Id's
Appendix G Protocol Constants.
7.3.27.3 MC-12 Response
MC-12 will copy the InputName to the given input.
7.3.27.4 Data Validation:
The InputId must be a valid Input Id. If it is not the MC-12 will respond with a NAK packet and error
code DC_INVALID_INPUT. If the InputName string exceeds the INPUT_NAME_LENGTH, the MC-12
will truncate the string to the INPUT_NAME_LENGTH.
7.3.28 Set FPD Control Registers (MC-1)
This command is not supported by the MC-12.
7.3.29 Host Wakeup (MC-12, MC-1)
By transmitting the Wakeup Notification, the Host indicates it has just “powered on” or reset and is ready
to receive MC-12 Notifications or Responses. The Host is assumed to be asleep upon power up of the
MC-12. Host status is maintained during standby.
7.3.29.1 Command Packet Description
Application Header:
Command HOST_WAKEUP 0x11
Data Count 0 0x00
Application Data:
N/A
7.3.29.2 Data Description
N/A
7.3.29.3 MC-12 Response
The MC-12 will respond to this command with an ACK.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.30 Host Sleep (MC-12, MC-1)
By transmitting the Sleep command, the Host indicates it has just “powered down” and will no longer
respond to MC-12 Notifications. No Acknowledgment is expected. The Host is assumed to be asleep upon
power up of the MC-12. Host status is maintained during standby.
7.3.30.1 Packet Description
Application Header:
Command HOST_SLEEP 0x12
Data Count 0 0x00
Application Data:
N/A
7.3.30.2 Data Description
N/A
7.3.31 Get Communication Configuration (MC-12, MC-1)
This command is a request to the MC-12 for the current communications configuration for the serial port
and protocol. The MC-12 responds to this command with a Communication Configuration Packet.
7.3.31.1 Command Packet Description
Application Header:
Command DC_CMD_GET_COM_CONFIG 0x2F
Data Count 0 0x00
Application Data:
N/A
7.3.31.2 Communication Configuration Response Packet
Application Header:
Command DC_RESP_COM_CONFIG 0x8C
Data Count 1 0x01
Application Data:
Data[0] Configuration Register 0 nn
7.3.31.3 Data Description
Data Word Bit Definition
0 0 Acknowledge Enable
0 1 Parameter Change Enable
Acknowledge Enable:
TRUE Indicates the MC-12 will transmit Acknowledge Notification’s to the Host.
FALSE Indicates the MC-12 will not transmit any positive Acknowledge Notification
messages. The MC-12 will always transmit NAK error notification messages.
Parameter Change Enable:
TRUE Indicates the MC-12 will transmit any parameter change Notification as
specified in the Parameter Change Notification Message.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
FALSE Indicates the MC-12 will not transmit parameter change Notifications.
7.3.32 Set Communication Configuration (MC-12, MC-1)
The Set Communication Configuration Command allows the serial port user to set up the various serial
port/ protocol configuration parameters.
7.3.32.1 Command Packet Description
Application Header:
Command DC_CMD_SET_COM_CONFIG 0x30
Data Count 1 0x01
Application Data:
Data[0] Configuration Register 0 nn
7.3.32.2 Data Description
Data Word Bit Definition
0 0 Acknowledge Enable
0 1 Parameter Change Enable
Acknowledge Enable:
TRUE Indicates the MC-12 will transmit Acknowledge Notification’s to the Host.
FALSE Indicates the MC-12 will not transmit any positive Acknowledge Notification
messages. The MC-12 will always transmit NAK error notification messages.
Parameter Change Enable:
TRUE Indicates the MC-12 will transmit any parameter change Notification as
specified in the Parameter Change Notification Message.
FALSE Indicates the MC-12 will not transmit parameter change Notifications.
7.3.32.3 MC-12 Response
The data values transmitted will be copied over to the registers stored in nonvolatile RAM. The MC-12
will respond with an ACK Packet.
7.3.33 Set Mute (MC-12, MC-1)
The Set Mute Command message allows the RS232 users to set/clear the MC-12 mute state directly.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
MUTE State:
Value Definition Description
0 UNMUTE The user mute state is set to unmuted. The MC-12 may
still be muted for other internal reasons.
1 USER MUTE The system volume decrements by the specified user
amount as set in the OUTPUT LEVELS Menu.
2 FULL MUTE The system is fully muted.
7.3.33.3 MC-12 Response
The MC-12 will set the mute state according to the value transmitted. The MC-12 may still be full muted if
other conditions require the audio path to be muted. This is only a direct access to the user mute state.
7.3.33.4 Data Validation
The data value transmitted to the MC-12 will be verified as a valid value. If it is valid the MC-12 will
set/clear the mute and respond with an ACK Packet. If the data value is invalid the MC-12 will respond
with a DC_INVALID_DATA error NAK.
7.3.34 Set Output Level Adjustments (MC-1)
This command is not supported by the MC-12.
7.3.35 Send Display String Command (MC-12, MC-1)
This command allows the Host to send a 40 character string to the MC-12 for display on the OSD and
Front Panel Display.
7.3.35.1 Packet Description
Application Header:
Command DC_CMD_SET_DISPLAY_STR 0x33
Data Count Number of characters in the
DisplayStr + 2
Application Data:
Data[0] DisplayFlags nn
Data[1]-Data[DataCount-1] DisplayStr ch ch ch … 0x00
nn
7.3.35.2 Data Description
Display Command Flags:
Word Bit Definition
0 0 FPD only: If set TRUE, the display string will only be sent to the FPD device for display.
0 1 Undefined.
0 2 Undefined.
0 3 Undefined.
0 4 Undefined.
0 5 Undefined.
0 6 Undefined.
0 7 Undefined.
Display String:
Data Type: Null (0x00) terminated ASCII character string.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Max Length: 40 Characters.
7.3.35.3 MC-12 Response
The display string is sent to the OSD and Front Panel Display. The MC-12 will ACK when completed with
this command.
7.3.35.4 Data Validation:
If a string length exceeds the 40 character maximum the string will be truncated before displaying and the
MC-12 transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.36 MC-12 Get Parameter Definition by Id (MC-12)
Request to MC-12 for a Parameter Definition by Parameter Id. MC-12 will respond with “MC-12
Parameter Definition Packet”.
7.3.36.1 Command Packet Description
Application Header:
Command MC_GET_PARAM_BY_ID 0x35
Data Count 2 0x02
Application Data:
Data[0] ParamId(LSB) nn
Data[1] ParamId(MSB) nn
7.3.36.2 Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12 Unit Configuration Response
Packet in
7.3.39.2
7.3.36.3 Data Validation:
If the ParamId is not a valid Id the MC-12 will respond with a NAK packet and error code DC_
INVALID_PARAM_ID.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.36.4 Parameter Definition Response Packet
The following Packet has been defined as follows for MC-12 V1.00. Future releases may modify this
definition.
Application Header:
Command MC_SYS_PARAM_DEF_PKT 0x8F
Data Count 110 0x6E
Application Data:
Data[0] ParamId(LSB) nn
Data[1] ParamId(MSB) nn
Data[2] ParamType nn
Data[3] MAX Value(LSB) nn
Data[4] MAX Value(MSB) nn
Data[5] MIN Value(LSB) nn
Data[6] MIN Value(MSB) nn
Data[7-27] CurrentValue[0 -20] nn nn nn…
Data[28]-Data[108] Parameter Path
Data[108] Read Only nn
ch ch ch …
0x00
7.3.36.5 Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12 Unit Configuration Response
Packet in
ParamType:
Param Type Name ParamTy
PARAM_TYPE_UINT8 0 Unsigned 8 bit integer(0 to
PARAM_TYPE_UINT16 1 Unsigned 16 bit integer(0 to
PARAM_TYPE_CSTR8 2 Zero terminated string of 8
PARAM_TYPE_CSTR13 3 Zero terminated string of 13
PARAM_TYPE_UINT32 4 Unsigned 32 bit integer (0 to
PARAM_TYPE_BOOLEAN 5 Boolean( 0 to 1) 1
PARAM_TYPE_INT8 6 Signed 8 bit integer
PARAM_TYPE_BRANCH 7 Parameter Branch N/A
PARAM_TYPE_INT16 8 Signed 16 bit integer
PARAM_TYPE_CSTR20 9 Zero terminated string of 20
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
The data value transmitted is dependent on the ParamType, as described above. The
CurrentValue is always packed starting at the CurrentValue [0] byte in the packet. For
multi-byte data, the values are packed LSB first(CurrentValue [0]) to MSB(CurrentValue
[0+(num bytes-1)]). For example: Setting a given signed 16 bit parameter to a value of 300 the data array would be packed as follows:
All signed values are in the 2's compliment format.
Max Value:
This is a 16 bit value representing the maximum value for a parameter. Parameter values
exceeding the maximum will be limited to the maximum. This may be a signed or
unsigned value depending on the Parameter Type.
Min Value:
This is a 16 bit value representing the minimum value for a parameter. Parameter values
exceeding the minimum will be limited to the minimum. . This may be a signed or
unsigned value depending on the Parameter Type.
Parameter Path:
This is a zero terminated ASCII character string describing the parameter's name and
path in the units parameter tree structure.
Read Only:
Data Type: Boolean
TRUE: Parameter is read only
FALSE: Parameter is writeable
7.3.37 MC-12 Set Parameter Value by Id (MC-12)
MC-12 Set Parameter by Id command sets the parameter value equal to the value sent in the command
packet and then runs the appropriate functional changes associated with changing the given parameter.
7.3.37.1 Command Packet Description
Application Header:
Command MC_CMD_SET_SYS_PARAM_VALUE_BY_ID 0x36
Data Count 24 0x18
Application Data:
Data[0] ParamId(LSB) nn
Data[1] ParamId(MSB) nn
Data[2] ParamType nn
Data[3-23] Value[0 -20] nn nn nn…
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.37.2 Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12 Unit Configuration Response
Packet in
ParamType:
Param Type Name Param
PARAM_TYPE_UINT8 0 Unsigned 8 bit integer(0 to
PARAM_TYPE_UINT16 1 Unsigned 8 bit integer(0 to
PARAM_TYPE_CSTR8 2 Zero terminated string of 8
PARAM_TYPE_CSTR13 3 Zero terminated string of 13
PARAM_TYPE_UINT32 4 Unsigned 32 bit integer (0 to
PARAM_TYPE_BOOLEAN 5 Boolean (0 to 1) 1
PARAM_TYPE_INT8 6 Signed 8 bit integer
PARAM_TYPE_BRANCH 7 Parameter Branch N/A
PARAM_TYPE_INT16 8 Signed 16 bit integer
PARAM_TYPE_CSTR20 9 Zero terminated string of 20
Value:
The data value transmitted is dependent on the ParamType, as described above. The
Data Value is always packed starting at the Value[0] byte in the packet. For multi-byte
data, the values are packed LSB first(Value[0]) to MSB(Value[0+(num bytes-1)]). For
example: Setting a given signed 16 bit parameter to a value of -300 the data array would
be packed as follows:
Value[0] = 0xd4
Value[1] = 0xfe
Value[2 - 13] = don't care.
All signed values are in the 2's compliment format.
7.3.39.2
Type
ID
Type Description Data
Size
(Bytes)
1
255)
2
65535)
9
ascii characters
14
ascii characters
4
4,294,967,295 )
1
(-127 to 128)
2
(-32,767 to 32,768)
21
ascii characters
7.3.37.3 Data Validation:
The ParamId must be a valid Parameter. The ParamType must be valid for the given ParamId. If either of
these condition is not true the MC-12 will respond with a NAK packet and error code DC _
INVALID_PARAM_ID. The data value size cannot exceed the size of a given data type. A value that
does exceed the size of a give data type will be truncated to the appropriate size. The ParamType
transmitted must match the ParamType for the Parameter being transmitted, as per the Parameter Definition
as transmitted by the MC_SYS_PARAM_DEF_PKT . If the types do not match The MC-12 will transmit
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
a NAK packet with a DC_INVALID_INPUT error code. The MC-12 will transmit a NAK packet with a
DC_ERR_READ_ONLY error code for read only parameters.
7.3.38 MC-12 Set Parameter Value by Id, No Run (MC-12)
MC-12 Set Parameter by Id command sets the parameter value equal to the value sent in the command
packet and does not run the appropriate functional changes associated with changing the given parameter.
7.3.38.1 Command Packet Description
Application Header:
Command MC_CMD_SET_SYS_PARAM_VALUE_BY_ID_NO_RUN 0x37
Data Count 24 0x18
Application Data:
Data[0] ParamId(LSB) nn
Data[1] ParamId(MSB) nn
Data[2] ParamType nn
Data[3-23] Value[0 -20]
7.3.38.2 Data Description
Same as Paragraph 7.3.37.2
nn nn
nn…
7.3.39 MC-12 Get Unit Configuration (MC-12)
Request to MC-12 for its current unit configuration. MC-12 will respond with “Unit Configuration
Packet”. The HOST should use this information to determine if any information saved by the HOST is
current.
*Note: SW level indicates the status of the MC-12 internal application software.
Software Major Revision: An unsigned 8 bit integer value indicating the unit’s major software version.
The host should use this information to determine if new effects, effect
parameters, or system parameters have been added or removed.
Software Minor Revision: An unsigned 8 bit integer value indicating this units minor software version.
Indicates the units software operation has changed but effects, effect parameters,
or system parameters have not changed.
Protocol Major Revision: An unsigned 8 bit integer value indicating the serial communication protocol
major version. The host should use this value to determine if new commands,
notifications, or response packets have been added or deleted from this
specification.
Protocol Minor Revision: An unsigned 8 bit integer value indicating the serial communication protocol
minor version. The host should use this value to determine if the existing
commands, notifications, or response packets have changed in this specification
Parameter Count: An unsigned 16 bit integer value indicating the maximum number of parameters
for this version of software. All Parameters are sequential ordered with in the
unit so cycling from ParamId 0 to ParamId = Parameter Count -1 allows for the
host system to learn the Parameter definitions for all Parameters defined for a
given software version. The 16 bit value is packed LSB followed by the MSB.
Total Number of Effects: An unsigned 8 bit integer value indicating the maximum number of effects
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
TimeStamp: Is a null terminated ASCII text string describing the build date and time of the
current software build. The Format of this text string is:
“yy/mm/dd(sp)hh:mm”
yy- is the last two digits of the year (i.e. year 2001=01, year 2002 = 02)
mm - is the month
dd- is the day
(sp) - is an ASCII space character (0x20)
hh - is the hour
mm - is the minute
SerialNumber: The Serial Number is an unsigned 32 bit integer holding the unique value of the
current unit.
7.3.40 MC-12 Send IR Command (MC-12)
This command allows the HOST to transmit IR command key codes to the MC-12.
7.3.40.1 Command Packet Description
Application Header:
Command MC_CMD_IR 0x39
Data Count 1 0x01
Application Data:
Data[0] KeyCode nn
7.3.40.2 Data Description
KeyCode:
Data Type: Unsigned 8 bit integer.
Valid Values:
Appendix D MC-12 IR-Codes
7.3.40.3 MC-12 Response
The KeyCode is processed as a valid IR code. No acknowledgment will be sent from MC-12.
7.3.40.4 Data Validation
The KeyCode data will be verified as a legal IR code. If the Code is not valid the MC-12 will not respond.
7.3.41 MC-12 Get Parameter Value by Id (MC-12)
Request to MC-12 for the current value of a given parameter. The MC-12 will respond with a “Parameter
Value Packet”.
7.3.41.1 Command Packet Description
Application Header:
Command MC_CMD_GET_PARAM_VALUE_BY_ID 0x3A
Data Count 2 0x02
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12 Unit Configuration
Response Packet in 7.3.39.2
7.3.41.3 Data Validation
If ParamId exceeds the its maximum value, the MC-12 will ignore the command and transmit a
DC_NAK command with an error code DC_INVALID_PARAM_ID.
7.3.41.4 MC-12 Value String Response Packet
Application Header:
Command MC_RESP_PARAM_VALUE 0x92
Data Count 24 0x18
Application Data:
Data[0] ParamId (LSB) nn
Data[1] ParamId (MSB) nn
Data[2] ParamType nn
Data[3-23] Value[0 -20]
nn nn
nn…
7.3.41.5 Data Description
Same as Paragraph 7.3.37.2
7.3.42 MC-12 Set Parameter Notification by Id (MC-12)
Request to MC-12 to enable or disable transmission of the MC-12 parameter change notification for a
given parameter.
7.3.42.1 Command Packet Description
Application Header:
Command MC_CMD_SET_PARAM_NOTIFICATION_BY_ID 0x3B
Data Count 3 0x03
Application Data:
Data[0] ParamId (LSB) nn
Data[1] ParamId (MSB) nn
Data[2] Enable/Disable nn
7.3.42.2 Data Description
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12 Unit Configuration
Response Packet in 7.3.39.2
Enable/Disable:
Data Type: Boolean
TRUE: Enable transmission of parameter notification
FALSE: Disable transmission of parameter notification
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
If ParamId exceeds the its maximum value, the MC-12 will ignore the command and transmit a
DC_NAK command with an error code DC_INVALID_PARAM_ID.
7.3.42.4 MC-12 Response
If a parameter has been enabled for notification the MC-12 will transmit its current value
whenever it has been changed due to any user or system action. For the details of the MC-12
notification packet, see
7.1.5 (MC12_Parameter_Notification_By_Id).
7.3.43 MC-12 Parameter Get Value String by Id (MC-12)
Request to MC-12 for the string representation of a given value for a g iven parameter. The MC-12 will
respond with a “Value String Response Packet”.
7.3.43.1 Command Packet Description
Application Header:
Command MC_CMD_PARAM_GET_VALUE_STRING_BY_ID 0x3C
Data Count 23 0x17
Application Data:
Data[0] ParamId (LSB) nn
Data[1] ParamId (MSB) nn
Data[2] - Data[22]
Value[0] - Value[20]
nn nn
nn ..
7.3.43.2 Data Description
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12 Unit Configuration
Response Packet in 7.3.39.2
Value:
See
MC12_Value_Union_Description.
7.3.43.3 Data Validation
If ParamId exceeds the its maximum value, the MC-12 will ignore the command and transmit a
DC_NAK command with an error code DC_INVALID_PARAM_ID.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Data Type: Null (0x00) terminated ASCII string.
Max Length: 21 (20 characters plus terminating Null)
7.3.44 MC-12 Clear All Parameter Notifications (MC-12)
Request to the MC-12 to disable all MC-12 parameter notifications.
7.3.44.1 Command Packet Description
Application Header:
Command MC_CMD_CLEAR_ALL_PARAM_NOTIFICATIONS 0x3D
Data Count 0 0x00
Application Data:
N/A
7.3.45 MC-12 Get System Status (MC-12)
Request to MC-12 for its current system status. MC-12 will respond with “System Status Packet”.
7.3.45.1 Command Packet Description
Application Header:
Command MC_CMD_GET_SYS_STATUS 0x3E
Data Count 0 0x00
Application Data:
N/A
7.3.45.2 System Status Response Packet
Application Header:
Command MC_RESP_SYS_STATUS 0x94
Data Count 10 0x0A
Application Data:
Data[0] System Volume nn
Data[1] Current Input nn
Data[2] Current Effect Id nn
Data[3] Current Input Sample Rate nn
Data[4] Current Input Format nn
Data[5] Mute Active nn
Data[6] Effect Bypass nn
Data[7] Left/Right Balance nn
Data[8] Front/Back Balance nn
Data[9] Video Sync nn
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Record Active:
Data Type: Boolean.
TRUE: Record Zone Output is active
FALSE: Record Zone Output is not Active.
Zone 2 Balance:
Data Type: Signed 8 bit integer (2’s compliment)
Max: 16 (0x10) (Full Right)
Min: -16 (0xF0) (Full Left)
7.3.47 MC-12 Set System Volume (MC-12)
This command is a request to the MC-12 to set the system volume with the value in this packet.
7.3.47.1 Command Packet Description
Application Header:
Command MC_CMD_SET_SYS_VOLUME 0x40
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.47.2 Data Description
Value:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +12 (0x0C) (12 dB)
Min: -80 (0xB0) (-80 dB)
7.3.47.3 MC-12 Response
The MC-12 will assign the value from the packet to the system volume.
7.3.47.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.48 MC-12 Set Main Balance (MC-12)
Commands MC-12 to set the system balance to the value in this packet.
7.3.48.1 Command Packet Description
Application Header:
Command DC_CMD_SET_SYS_BALANCE 0x41
Data Count 1 0x01
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.48.2 Data Description
Value:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +16 (0x10) (Full Right)
Min: -16 (0xF0) (Full Left)
7.3.48.3 MC-12 Response
The MC-12 will assign the value from the packet to the system balance.
7.3.48.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.49 MC-12 Set Front/Back Balance (MC-12)
Commands MC-12 to set the front/back balance to the value in this packet.
7.3.49.1 Packet Description
Application Header:
Command MC_CMD_SET_FRONT_BACK_BALANCE 0x42
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.49.2 Data Description
Value:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +16 (0x10) (Full Front)
Min: -16 (0xF0) (Full Back)
7.3.49.3 MC-12 Response
The MC-12 will assign the value from the packet to the front/back balance.
7.3.49.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.50 MC-12 Set Active Effect by Id (MC-12)
This command requests the MC-12 to set the active effect to the value in this packet.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.50.1 Command Packet Description
Application Header:
Command MC_CMD_SET_EFFECT 0x43
Data Count 1 0x01
Application Data:
Data[0] EffectId nn
7.3.50.2 Data Description
EffectId:
Data Type: Unsigned 8 bit integer
Definition/Conversion:
Appendix J MC-12 Mode Ids
7.3.50.3 MC-12 Response
The MC-12 will load the desired effect.
7.3.50.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.51 MC-12 Set Record Input (MC-12)
Sets the Record input.
7.3.51.1 Command Packet Description
Application Header:
Command MC_CMD_SET_REC_INPUT 0x44
Data Count 1 0x01
Application Data:
Data[0] InputId nn
7.3.51.2 Data Description
InputId:
Data Type: Unsigned 8 bit Integer
Description/Conversion:
Appendix F MC-12 Input Ids
7.3.51.3 MC-12 Response:
If the Input Id is a valid MC-12 input then the MC-12 will make the request Input the active record input.
7.3.51.4 Data Validation:
The InputId must be a valid Input Id. If it is not the MC-12 will respond with a NAK packet and error
code DC_INVALID_INPUT. If the input is assigned the MC-12 will respond with an ACK Packet.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
7.3.52 MC-12 Set Zone2 Volume (MC-12)
Commands MC-12 to set the Zone 2 volume with the value in this packet.
7.3.52.1 Command Packet Description
Application Header:
Command MC_CMD_SET_ZONE2_VOLUME 0x45
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.52.2 Data Description
Value:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +12 (0x0C) (12dB)
Min: -80 (0xB0) (-80 dB)
7.3.52.3 MC-12 Response
The MC-12 will assign the value from the packet to the Zone 2 volu me.
7.3.52.4 Data Validation
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.53 MC-12 Set Zone2 Left/Right Balance (MC-12)
Commands MC-12 to set the Zone 2 balance to the value in this packet.
7.3.53.1 Packet Description
Application Header:
Command MC_CMD_SET_ZONE2_BALANCE 0x46
Data Count 1 0x01
Application Data:
Data[0] Value nn
7.3.53.2 Data Description
Value:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +16 (0x10) (Full Right)
Min: -16 (0xF0) (Full Left)
7.3.53.3 MC-12 Response
The MC-12 will assign the value from the packet to the Zone 2 balance.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
If a value is passed that exceeds the maximum value of that parameter the MC-12 will ignore the command
and transmit a NAK command with an error code DC_INVALID_DATA.
7.3.54 MC-12 Get Input Name by Id (MC-12)
This command is a request to MC-12 for the custom input name. MC-12 will respond with “Input Name
Packet”.
7.3.54.1 Command Packet Description
Application Header:
Command MC_CMD_GET_INPUT_NAME 0x47
Data Count 1 0x01
Application Data:
Data[0] InputId nn
7.3.54.2 Data Description
InputId:
Data Type: Unsigned 8 bit Integer
Definition/Conversion:
Appendix F MC-12 Input Ids
7.3.54.3 Data Validation:
The InputId must be a valid Input number. If it is not the MC-12 will respond with a NAK packet and
error code DC_INVALID_INPUT.
Data Type: Null (0x00) terminated ASCII character string.
Max Length: INPUT_NAME_LENGTH defined in
Number of characters in
InputName + 2
Appendix F MC-12 Input Ids
Appendix G Protocol Constants.
7.3.55.3 MC-12 Response
MC-12 will copy the InputName to the given input.
7.3.55.4 Data Validation:
The InputId must be a valid Input Id. If it is not the MC-12 will respond with a NAK packet and error
code DC_INVALID_INPUT. If the InputName string exceeds the INPUT_NAME_LENGTH, the MC-12
will truncate the string to the INPUT_NAME_LENGTH.
MC-12 Serial Communications Protocol Printed on: 07/13/05
Appendix C DC-2, MC-1 IR-Codes
MC-1
Function
Off
On ON 18 Trigger On TRIGGER1_ON 98 Zone-2: On ZONE_DVD_2 58
OSD Off OSD 02 Menu Back Off BLUE 82 Reserved 42
FrontPanel Off FP 03 reserved 83 Reserved 43
LIGHT N/A N/A N/A
FrontPanel On FP 04 reserved 84 Reserved 44
OSD On OSD 05 Menu Back On BLUE 85 Status Menu INPUT_STATUS 45
Menu Up UP_ARROW 01 Fade Front 81 Reserved 41
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Appendix I MC-1 to MC-12 Effect ID Map
MC-1
Effect
ID
0 Bypass Analog Bypass
1 Church Church
2 THX Cinema PL II THX
3 TV Logic L7 TV
4 Mono Logic Mono Logic
5 Panorama L7 Film
6 Nightclub Nightclub
7 Prologic Prologic II
8 Music Logic L7 Music
9 Party 2-Ch Surround
10 N/A none
11 N/A none
12 Concert Hall Concert Hall
13 Cathedral Cathedral
14 Music Surround L7 Music Surround
15 Logic 7 L7 Film
16 2-Channel 2-Channel
17 DD 2.0 Prologic Prologic II
18 DD 2.0 THX Cinema PL II THX
19 DD 2.0 Logic 7 L7 Film
20 DD 2.0 Music Surround L7 Music
21 DD 2.0 2-Channel 2-Channel
22 Dolby Digital Dolby Digital
23 THX 5.1 5.1 THX
24 5.1 Logic 7 5.1 L7 Film
25 5.1 Music 5.1 L7 Music
26 5.1 2-Channel 5.1 2-Channel
27 dts Film dts
28 dts THX 5.1 dts THX
29 dts Logic 7 dts L7 Film
30 dts Music dts L7 Music
31 dts 2-Channel dts 2-Chan
32 dts 2-Channel dts
33 N/A none
34 N/A none
35 N/A none
36 N/A none
37 N/A none
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Application Notes and Examples
1.1 Box initializations:
1.1.1 MC-12:
When the MC-12 is powered on it will initialize the serial po rt and then transmit the DC_WAKEUP
Packet, and look for an ACK from the HOST. Currently, if an ACK is not received, the MC-12 continues
to operate. This message is mostly for the HOST to know if the MC-12 is in an operational state.
1.1.2 HOST:
When the HOST issues a HOST_WAKEUP Packet the MC-12 responds with an ACK and then transmits
the current FPD buffer with a DC_FPD notification. If the Host issues a HOST_WAKEUP command and
does not receive the ACK it should assume it is not connected or the MC-12 is not capable of responding
on the RS232 and therefore further serial communications will not be possible. If the MC-12 RS232 is
capable of communicating, the MC-12 will respond to a HOST_WAKEUP Command in any “Powered
up” state including standby.
1.2 Getting System Wide Status and Setup:
TBD
1.3 Downloading the System Setup to the MC-12:
TBD
1.4 Simple System Control & System Status:
The HOST can control the system via the IR commands thus making any direct IR code a direct command.
Because of some limitations in the IR codes the HOST also has direct control over the system volume,
balance, fader, effect selection, zone 2 volume, balance and input selection through dedicated commands.
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
1.5 Examples:
The following examples show the byte’s transmitted for the MC-12 Get Unit Configu ration, and Send MC1 IR, and Send MC-12 IR Commands . They are shown as they should be transmitted from left to right.
1.5.1 MC-12 Get Unit Configuration
The HOST initiates by sending the GET_UNIT_CONFIG command packet:
SOP DLL DC CMD AppDCEOP
F1 03 38 00 F2
If the command is received without error the MC-12 responds with the UNIT_CONFIG response packet:
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
Product Id is Lexicon MC-12
Software type COMPLETE
Software level of RELEASED
Software Version 1.00
Protocol Version 1.01
with 1007 parameters
and 25 effects,
and the software image was built
“01/07/27 17:07”
and has an internal serial number of
1128 (0x00 00 04 68)
1.5.2 Send MC-1 IR Command Example
SOP DLL DC CMD AppDC DATA0EOP
IR Key
Code
F1 04 14 01 17 F2
This example shows how to transmit the MC-1 IR command for “Volume Up”. The bytes are transmitted
from left to right and they are defined as:
Byte 0: Start of Packet(F1 hex)
Byte 1: Data Link Layer(DLL) Data Count(DC); for an IR command this would be 4 bytes to
follow
Byte 2: The Application Layer Command, in this case it is 14 hex indicating this is an IR
command packet.
Byte 3: The Application Layer Data Count(DC); for this packet it is 1 data byte to follow.
Byte 4: The Application Command Data: This IR Command Packet is transmitting Key Code
“Volume Up”(17 hex). To transmit other IR Key Codes the user would replace this byte
Lexicon
MC-12 Serial Communications Protocol Printed on: 07/13/05
1.5.3 Send MC-12 IR Command Example
SOP DLL DC CMD AppDC DATA0EOP
IR Key
F1 04 39 01 28 F2
This example shows how to transmit the IR command for “
Byte 0: Start of Packet(F1 hex)
Byte 1: Data Link Layer(DLL) Data Count(DC); for an IR command this would be 4 bytes to
Byte 2: The Application Layer Command, in this case it is 39 hex indicating this is an IR
Byte 3: The Application Layer Data Count(DC); for this packet it is 1 data byte to follow.
Byte 4: The Application Command Data: This IR Command Packet is transmitting Key Code
Byte 5: End of Packet (F2 hex)
Code
MAIN_GAME”. This example command will select
the GAME input for the Main Zone. The bytes are transmitted from left to right and they
are defined as:
follow
command packet.
MAIN_GAME”(28 hex). To transmit other IR Key Codes the user would replace this byte
“
with other IR key codes as found in
Appendix D MC-12 IR Codes.
1.6 MC12 V5.00 Parameter ID List
The following table is for V5.00 reference only. These Parameter Id Values will change with S/W and
Protocol version changes. The MC12 can always be queried for the correct Parameter Id numbers and
Parameter Definition Packets.