“Lexicon” and the Lexicon logo are registered trademarks of Harman International Industries. U.S. patent
numbers and other worldwide patents issued and pending.
Windows® is a registered trademark of Microsoft Corporation.
information it contains is subject to change without notice. Harman Specialty Group assumes no
responsibility for errors that may appear within this document.
Lexicon, Inc.
3 Oak Park
Bedford, MA 01730-1413 USA
Tel 781-280-0300
Fax 781-280-0490
www.lexicon.com
Customer Service
Tel 781-280-0300
Fax 781-280-0495 (Sales)
Fax 781-280-0499 (Service)
5.1 MC-12HD Get Unit Configuration....................................................................................44
5.2 Send MC-12HD IR Command Example..........................................................................46
6 MC12HD V1.00 Parameter ID List........................................................................................ 46
7 MC12HDEQ V1.00 Parameter ID List................................................................................... 86
3
Lexicon MC-12HD Serial Communications Protocol
1 Documents
The following documents should also be used with this document to understand how this protocol can be
used with an MC-12HD:
070-17555 Guide, User, MC12HD
1.1 Change List
1/11/06 New Document based on MC-12/MC-12B V5.0.
1/12/06 Updated Parameter Id Reference Table for MC12HD V 1.00 software.
2 Definitions
User Parameter: A user changeable variable that stores a specific value that describes an
operating condition for the MC-12HD system.
HOST: The device initiating or receiving the serial communication packets to/from the
MC-12HD.
MC-12HD: The Lexicon product receiving or transmitting the serial communication packets
to/from the HOST.
Nonvolatile RAM: An area of memory in an MC-12HD that stores user-adjustable parameters. The
Nonvolatile RAM is battery backed, to maintain values during power-down.
2.1 Protocol Version Cross-reference
All references to MC-12HD shall be valid for both the MC-12HD and SDP-40HD 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-12HD serial port and protocol communication is for an external connected HOST
to control and obtain status from the MC-12HD. The protocol has been designed to focus on two specific
goals. The first is HOST uploading and downloading of MC-12HD configuration, and system/effect
setups. The second is HOST control of basic user adjustable parameters (i.e. input, volume, balance…).
4
Lexicon MC-12HD Serial Communications Protocol
The MC-12HD 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-12HD. The MC-12HD Protocol is a 3 layered system. The MC12HD serial protocol allows for the MC-12HD, or the HOST, to initiate a communication transaction. Most
transactions are initiated by the HOST. MC-12HD then responds to the HOST command with either a
response or acknowledgment packet. There are a few asynchronous notifications that MC-12HD initiates
indicating system changes. After each transaction is initiated, the initiating device must wait for a
corresponding response before initiating the next transmission.
The 3 protocol layers are Physical, Data Link, and Application Layers.
5
Lexicon MC-12HD Serial Communications Protocol
5 Physical Layer
5.1 DB-9 RS232 Connector
Note: The wiring requirements for a 9 pin to 9 pin serial connection are a male to female straight through
cable.
5.2 Serial Port Driver
MC-12HD serial port has been setup to operate as follows:
The MC-12HD will detect parity, framing and data overrun errors. If any physical layer errors are
detected, the complete packet is corrupted and the MC-12HD will reset the transaction and begin to look
for a start of packet byte.
5.4 Receive Buffer
The MC-12HD 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-12HD will be ignored, therefore making the currently transmitted packet, if partially
transmitted, invalid.
5.5 Hardware Verification
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-12HD transmits a known test signal just following a power up. The MC12HD monitors the serial port receivers while transmitting the test signal. If the signals are the same, the
6
Lexicon MC-12HD Serial Communications Protocol
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-12HD labeled “RS232”. The wraparound plug
shorts pins 2 to 3, allowing for the MC-12HD to receive the signal it is transmitting. Once installed, power
cycle the MC-12HD and verify the following message is displayed on the FPD:
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
enclose 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
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-12HD responds by transmitting a NAK packet with an error code
DC_ERR_INVALID_PACKET. The MC-12HD 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.
APP Data Count (number of application data bytes to
Follow)
nn
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-12HD will
respond by transmitting a NAK packet with an error code DC_ERR_INVALID_PACKET. The MC-12HD
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.
7
Lexicon MC-12HD Serial Communications Protocol
7 Application Layer
7.1 Asynchronous Notification Packets
MC-12HD 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
By transmitting the Wakeup Notification, MC-12HD 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-12HD.
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-12HD does not expect any response from the HOST.
7.1.2 Sleep Notification
By transmitting the Sleep Notification, MC-12HD indicates the unit is shutting down into a standby mode.
Because the hard power switch could be activated independently of the MC-12HD 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-12HD.
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-12HD will transmit the front panel display buffer following the update to the MC-12HD front panel
display. The MC-12HD front panel display is 2 X 20 ASCII character display. The HOST can enable
transmission of this notification message by sending
can send
communication and will only transmit following the completion of any communication exchanges in
progress or pending.
8
Host Sleep. Transmission of the display buffer is asynchronous to other host/MC-12HD
Data Type: Null (0x00) terminated ASCII character string.
Max Length: DISP_LINE_LENGTH defined in
Appendix E Protocol Constants.
Line2
Data Type: Null (0x00) terminated ASCII character string.
Max Length: DISP_LINE_LENGTH defined in Appendix E Protocol Constants.
The MC-12HD 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
7.1.3.3 HOST Response
The MC-12HD does not expect any response from the HOST.
7.1.4 MC-12HD Parameter Notification by ID
MC-12HD will transmit parameter change notifications if they are enabled using the command described
(MC12HD_Set_Parameter_Notification_By_Id). If a parameter value is changed due to any user action
in
or system action the MC-12HD will transmit the current value of the parameter that is changing.
7.1.4.1 Command Packet Description
Application Header:
Command MC_PARAM_NOTIFICATION_BY_ID 0x05
Data Count 24 0x18
Application Data:
Data[0] ParamId(LSB) nn
Data[1] ParamId(MSB) nn
Data[2] ParamType nn
nn nn
Data[3-23] Value[0 -20]
nn…
7.1.4.2 Data Description
Same as
Parameter Set Data Description
9
Lexicon MC-12HD Serial Communications Protocol
7.1.4.3 HOST Response
The MC-12HD does not expect any response from the HOST.
7.1.4.4 Defaults
The following Parameters Notifications are Enabled in the MC-12HD default state:
Parameter MC-12HD Parameter Name
Current Mode
PARAM.MAIN.EFFECT
Main Zone Mute
PARAM.MAIN.MUTE
Main Zone Volume
PARAM.MAIN.VOLUME
Main Zone Balance
PARAM.MAIN.BALANCE
Main Zone Input Selection
PARAM.MAIN.INPUT
Zone 2 Input
PARAM.ZONE.INPUT
Zone 2 Volume
PARAM.ZONE.VOLUME
Zone 2 Balance
PARAM.ZONE.BALANCE
Zone 2 Mute
PARAM.ZONE.MUTE
Bass
PARAM.MAIN.BASS
Treble
PARAM.MAIN.TREBLE
Loudness
PARAM.MAIN.LOUDNESS
Tilt
PARAM.MAIN.TILT
Menu Background On/Off
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-12HD can transmit and receive these packets.
7.2.1 Acknowledge
7.2.1.1 Packet Description
Application Header:
Command DC_ACK 0xE0
Data Count 1 0x01
Application Data:
Data[0] Command nn
10
Lexicon MC-12HD Serial Communications Protocol
7.2.1.2 Data Description
Command:
DataType: Valid MC-12HD command as defined in
Appendix A Command Codes.
7.2.2 No Acknowledge
7.2.2.1 Packet Description
Application Header:
Command DC_NACK 0xE1
Data Count 2 0x02
Application Data:
Data[0] Command nn
Data[1] ErrorCode nn
7.2.2.2 Data Description
Command:
DataType: Valid MC-12HD command as defined in
Appendix A Command Codes.
ErrorCode:
DataType: Error code as defined in Appendix B Error Codes.
7.3 Host Initiated Command Packets
The MC-12HD serial communication protocol has been designed to respond to the following commands
as described below. Each command is transmitted to the MC-12HD with the identified parameters. If the
command is successfully received and processed by the MC-12HD, the unit will respond with the
described response packet or action.
7.3.1 Reset Unit
Commands the MC-12HD 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-12HD Response
The MC-12HD will perform an internal reset. After reset the MC-12HD will go through a soft power-up
initialization. This includes transmitting the “Wakeup Notification Packet”. A soft reset does not reinitialize
the MC-12HD. Nonvolatile RAM is maintained. While the unit is resetting, the front panel will show
“Configuring Please Wait”.
7.3.2 Restore
Commands the MC-12HD to restore the system and effect parameters to factory default settings.
11
Lexicon MC-12HD Serial Communications Protocol
7.3.2.1 Command Packet Description
Application Header:
Command DC_CMD_RESTORE_DEFAULTS 0x13
Data Count 0 0x00
Application Data:
N/A
7.3.2.2 MC-12HD Response
The MC-12HD 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-12HD will go through a soft powerup initialization. This includes transmitting the “Wakeup Notification Packet”.
7.3.3 Get Custom Name
Request to MC-12HD for the custom name. MC-12HD will respond with “Custom Name Packet”.
7.3.3.1 Command Packet Description
Application Header:
Command DC_CMD_GET_CUST_NAME 0x2B
Data Count 0 0x00
Data Type: Null (0x00) terminated ASCII character string.
Max Length: CUSTOM_NAME_LENGTH defined in
Appendix E Protocol Constants.
7.3.4 Set Custom Name
Sets the Custom Name that can be displayed when the unit powers up.
nn
12
Lexicon MC-12HD Serial Communications Protocol
7.3.4.1 Packet Description
Application Header:
Command DC_CMD_SET_CUST_NAME0x2C
Number of characters in
Data Count
Application Data:
CustomName + 2
nn
Data[0] CustomNameEnable nn
Data[1]-Data[DataCount-1] CustomName ch ch ch … 0x00
7.3.4.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
Appendix E Protocol Constants.
7.3.4.3 MC-12HD Response
If the custom name enable is TRUE then the custom name banner is displayed 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-12HD will send an ACK when completed with this command.
7.3.4.4 Data Validation:
No data validation is done on the transmitted data.
7.3.5 Host Wakeup
By transmitting the Wakeup Notification, the Host indicates it has just “powered on” or reset and is ready
to receive MC-12HD Notifications or Responses. The Host is assumed to be asleep upon power up of the
MC-12HD. Host status is maintained during standby.
7.3.5.1 Command Packet Description
Application Header:
Command HOST_WAKEUP 0x11
Data Count 0 0x00
Application Data:
N/A
7.3.5.2 Data Description
N/A
7.3.5.3 MC-12HD Response
The MC-12HD will respond to this command with an ACK.
13
Lexicon MC-12HD Serial Communications Protocol
7.3.6 Host Sleep
By transmitting the Sleep command, the Host indicates it has just “powered down” and will no longer
respond to MC-12HD Notifications. No Acknowledgment is expected. The Host is assumed to be asleep
upon power up of the MC-12HD. Host status is maintained during standby.
7.3.6.1 Packet Description
Application Header:
Command HOST_SLEEP 0x12
Data Count 0 0x00
Application Data:
N/A
7.3.6.2 Data Description
N/A
7.3.7 Get Communication Configuration
This command is a request to the MC-12HD for the current communications configuration for the serial
port and protocol. The MC-12HD responds to this command with a Communication Configuration Packet.
7.3.7.1 Command Packet Description
Application Header:
Command DC_CMD_GET_COM_CONFIG 0x2F
Data Count 0 0x00
Application Data:
N/A
7.3.7.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.7.3 Data Description
Data Word Bit Definition
0 0 Acknowledge Enable
Acknowledge Enable:
TRUE Indicates the MC-12HD will transmit Acknowledge Notification’s to the Host.
FALSE Indicates the MC-12HD will not transmit any positive Acknowledge Notification
messages. The MC-12HD will always transmit NAK error notification messages.
7.3.8 Set Communication Configuration
The Set Communication Configuration Command allows the serial port user to set up the various serial
port/ protocol configuration parameters.
14
Lexicon MC-12HD Serial Communications Protocol
7.3.8.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.8.2 Data Description
Data Word Bit Definition
0 0 Acknowledge Enable
Acknowledge Enable:
TRUE Indicates the MC-12HD will transmit Acknowledge Notification’s to the Host.
FALSE Indicates the MC-12HD will not transmit any positive Acknowledge Notification
messages. The MC-12HD will always transmit NAK error notification messages.
7.3.8.3 MC-12HD Response
The data values transmitted will be copied over to the registers stored in nonvolatile RAM. The MC-12HD
will respond with an ACK Packet.
7.3.9 Set Mute
The Set Mute Command message allows the RS232 users to set/clear the MC-12HD mute state directly.
7.3.9.1 Command Packet Description
Application Header:
Command DC_CMD_SET_MUTE 0x31
Data Count 1 0x01
Application Data:
Data[0] Mute State nn
7.3.9.2 Mute State Data Description
Value Definition Description
0 UNMUTE The user mute state is set to unmuted. The MC-12HD may still
be muted for other internal reasons.
1 USER MUTE The system volume decrements by the specified amount set in
the OUTPUT LEVELS Menu.
2 FULL MUTE The system is fully muted.
7.3.9.3 MC-12HD Response
The MC-12HD will set the mute state according to the value transmitted. The MC-12HD 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.9.4 Data Validation
The data value transmitted to the MC-12HD will be verified as a valid value. If it is valid the MC-12HD will
set/clear the mute and respond with an ACK Packet. If the data value is invalid the MC-12HD will respond
with a DC_INVALID_DATA error NAK.
15
Lexicon MC-12HD Serial Communications Protocol
7.3.10 Send Display String Command
This command allows the Host to send a 40-character string to the MC-12HD for display on the OSD and
Front Panel Display.
7.3.10.1 Packet Description
Application Header:
Command DC_CMD_SET_DISPLAY_STR0x33
Data Count Number of characters in the
nn
DisplayStr + 2
Application Data:
Data[0] DisplayFlags nn
Data[1]-Data[DataCount-1] DisplayStr ch ch ch … 0x00
7.3.10.2 Display Command Flags Data Description
Word Bit Definition
0 0 FPD only: If set TRUE, the display string will only be sent to the
FPD device for display.
Display String:
Data Type: Null (0x00) terminated ASCII character string.
Max Length: 40 Characters.
7.3.10.3 MC-12HD Response
The display string is sent to the OSD and Front Panel Display. The MC-12HD will ACK when completed
with this command.
7.3.10.4 Data Validation:
If a string length exceeds the 40-character maximum the string will be truncated before displaying and the
MC-12HD transmit a DC_NAK command with an error code DC_INVALID_DATA.
7.3.11 MC-12HD Get Parameter Definition by Id
Request to MC-12HD for a Parameter Definition by Parameter Id. MC-12HD will respond with “MC-12HD
Parameter Definition Packet”.
7.3.11.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.11.2 Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12HD Unit Configuration Response
Packet in
MC-12HD Unit Configuration Response Packet
16
Lexicon MC-12HD Serial Communications Protocol
7.3.11.3 Data Validation:
If the ParamId is not a valid Id the MC-12HD will respond with a NAK packet and error code DC_
INVALID_PARAM_ID.
7.3.11.4 Parameter Definition Response Packet
The following Packet has been defined as follows for MC-12HD V1.00. Future releases may modify this
definition.
Application Header:
Command MC_RESP_PARAM_DEF_PKT0x8F
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…
ch ch ch …
Data[28]-Data[108] Parameter Path
0x00
Data[108] Read Only nn
7.3.11.5 Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12HD Unit Configuration Response
Packet in
MC-12HD Unit Configuration Response Packet
ParamType:
Param Type Name Param
Type ID
Type Description Data
Size
(Bytes)
PARAM_TYPE_UINT8 0 Unsigned 8 bit integer(0 to 255) 1
PARAM_TYPE_UINT16 1 Unsigned 16 bit integer(0 to 65535) 2
PARAM_TYPE_CSTR8 2 Zero terminated string of 8 ascii characters 9
PARAM_TYPE_CSTR13 3 Zero terminated string of 13 ascii characters 14
PARAM_TYPE_UINT32 4 Unsigned 32 bit integer (0 to 4,294,967,295 ) 4
PARAM_TYPE_BOOLEAN 5 Boolean( 0 to 1) 1
PARAM_TYPE_INT8 6 Signed 8 bit integer (-127 to 128) 1
PARAM_TYPE_BRANCH 7 Parameter Branch N/A
PARAM_TYPE_INT16 8 Signed 16 bit integer
2
(-32,767 to 32,768)
PARAM_TYPE_CSTR20 9 Zero terminated string of 20 ascii characters 21
Data: 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
17
Lexicon MC-12HD Serial Communications Protocol
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 -
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.12 MC-12HD Set Parameter Value by Id
Sets the parameter value equal to the value sent in the command packet, then runs the appropriate
functional changes associated with changing the given parameter.
7.3.12.1 Command Packet Description
Application Header:
Command MC_CMD_SET_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…
18
Lexicon MC-12HD Serial Communications Protocol
7.3.12.2 Parameter Set Data Description
ParamId:
Data Type: Unsigned 16 bit Integer
Max Value: Max Parameter Count as reported by the MC-12HD Unit Configuration Response Packet in
MC12HD Unit Configuration Response Packet.
ParamType:
Param Type Name Param
Type
ID
PARAM_TYPE_UINT8 0 Unsigned 8 bit integer(0 to
Type Description Data
Size
(Bytes)
1
255)
PARAM_TYPE_UINT16 1 Unsigned 8 bit integer(0 to
2
65535)
PARAM_TYPE_CSTR8 2 Zero terminated string of 8
9
ASCII characters
PARAM_TYPE_CSTR13 3 Zero terminated string of 13
14
ASCII characters
PARAM_TYPE_UINT32 4 Unsigned 32 bit integer (0 to
4
4,294,967,295 )
PARAM_TYPE_BOOLEAN 5 Boolean (0 to 1) 1
PARAM_TYPE_INT8 6 Signed 8 bit integer
1
(-127 to 128)
PARAM_TYPE_BRANCH 7 Parameter Branch N/A
PARAM_TYPE_INT16 8 Signed 16 bit integer
2
(-32,767 to 32,768)
PARAM_TYPE_CSTR20 9 Zero terminated string of 20
21
ASCII characters
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
pack 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.12.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-12HD 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-12HD will transmit a
NAK packet with a DC_INVALID_INPUT error code. The MC-12HD will transmit a NAK packet with a
DC_ERR_READ_ONLY error code for read only parameters.
19
Lexicon MC-12HD Serial Communications Protocol
7.3.13 MC-12HD Set Parameter Value by Id, No Run
MC-12HD 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.13.1 Command Packet Description
Application Header:
Command MC_CMD_SET_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
nn nn
Data[3-23] Value[0 -20]
nn…
7.3.13.2 Data Description
Same as
Parameter Set Data Description
7.3.14 MC-12HD Get Unit Configuration
Requests the current MC-12HD unit configuration. MC-12HD will respond with “Unit Configuration
Packet”. The HOST should use this information to determine if any information saved by the HOST is
current.
7.3.14.1 Command Packet Description
Application Header:
Command MC_CMD_GET_CONFIG 0x38
Data Count 0 0x00
Application Data:
N/A
20
Lexicon MC-12HD Serial Communications Protocol
7.3.14.2 MC-12HD Unit Configuration Response Packet
Application Header:
Command MC_RESP_UNIT_CONFIG 0x91
Data Count 30 0x1E
Application Data:
Data[0] ProductId nn
Data[1] Software Type nn
Data[2] Software Level nn
Data[3] Software Major Revision nn
Data[4] Software Minor Revision nn
Data[5] Protocol Major Revision nn
Data[6] Protocol Minor Revision nn
Data[7] Parameter Count Low(LSB) nn
Data[8] Parameter Count High(MSB) nn
Data[9] Effect Count nn
Data[10] TimeStamp[0] ch
Data[11] TimeStamp[1] ch
Data[12] TimeStamp[2] ch
Data[13] TimeStamp[3] ch
Data[14] TimeStamp[4] ch
Data[15] TimeStamp[5] ch
Data[16] TimeStamp[6] ch
Data[17] TimeStamp[7] ch
Data[18] TimeStamp[8] ch
Data[19] TimeStamp[9] ch
Data[20] TimeStamp[10] ch
Data[21] TimeStamp[11] ch
Data[22] TimeStamp[12] ch
Data[23] TimeStamp[13] ch
Data[24] TimeStamp[14] ch
Data[25] TimeStamp[15] 0x00
Data[26] SerialNumber(LSB) nn
Data[27] SerialNumber nn
Data[28] SerialNumber nn
Data[29] SerialNumber(MSB) nn
21
Lexicon MC-12HD Serial Communications Protocol
7.3.14.3 Data Description
ProductId: This unsigned 8 bit value describes the product.
*Note: SW level indicates the status of the MC-12HD 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.
22
Lexicon MC-12HD Serial Communications Protocol
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
available for this version of software.
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.15 MC-12HD Send IR Command
This command allows the HOST to transmit IR command key codes to the MC-12HD.
23
Lexicon MC-12HD Serial Communications Protocol
7.3.15.1 Command Packet Description
Application Header:
Command MC_CMD_IR 0x39
Data Count 1 0x01
Application Data:
Data[0] KeyCode nn
7.3.15.2 Data Description
KeyCode:
Data Type: Unsigned 8 bit integer.
Valid Values:
Appendix C MC-12HD IR-Codes
7.3.15.3 MC-12HD Response
The KeyCode is processed as a valid IR code. No acknowledgment will be sent from MC-12HD.
7.3.15.4 Data Validation
The KeyCode data will be verified as a legal IR code. If the Code is not valid the MC-12HD will not
respond.
7.3.16 MC-12HD Get Parameter Value by Id (MC-12HD)
Request to MC-12HD for the current value of a given parameter. The MC-12HD will respond with a
“Parameter Value Packet”.
7.3.16.1 Command Packet Description
Application Header:
Command MC_CMD_GET_PARAM_VALUE_BY_ID 0x3A
Data Count 2 0x02
Application Data:
Data[0] ParamId (LSB) nn
Data[1] ParamId (MSB) nn
7.3.16.2 Data Description
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12HD Unit Configuration
Response Packet in 7.3.39.2
7.3.16.3 Data Validation
If ParamId exceeds the its maximum value, the MC-12HD will ignore the command and transmit
a DC_NAK command with an error code DC_INVALID_PARAM_ID.
24
Lexicon MC-12HD Serial Communications Protocol
7.3.16.4 MC-12HD 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
nn nn
Data[3-23] Value[0 -20]
nn…
7.3.16.5 Data Description
Same as
Parameter Set Data Description
7.3.17 MC-12HD Set Parameter Notification by Id
Request to MC-12HD to enable or disable transmission of the MC-12HD parameter change notification
for a given parameter.
7.3.17.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.17.2 Data Description
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12HD 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
7.3.17.3 Data Validation
If ParamId exceeds the its maximum value, the MC-12HD will ignore the command and transmit
a DC_NAK command with an error code DC_INVALID_PARAM_ID.
7.3.17.4 MC-12HD Response
If a parameter has been enabled for notification the MC-12HD will transmit its current value
whenever it has been changed due to any user or system action. For the details of the MC-12HD
notification packet, see
MC-12HD Parameter Notification by Id.
25
Lexicon MC-12HD Serial Communications Protocol
7.3.18 MC-12HD Parameter Get Value String by Id
Request to MC-12HD for the string representation of a given value for a given parameter. The MC-12HD
will respond with a “Value String Response Packet”.
7.3.18.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]
7.3.18.2 Data Description
ParamId:
Data Type: Unsigned 16 bit integer.
Max: Max Parameter Count as reported by the MC-12HD Unit Configuration
Response Packet in 7.3.39.2
Value:
See
MC12_Value_Union_Description.
7.3.18.3 Data Validation
If ParamId exceeds the its maximum value, the MC-12HD will ignore the command and transmit
a DC_NAK command with an error code DC_INVALID_PARAM_ID.
7.3.18.4 MC-12HD Value String Response Packet
nn nn
nn ..
Application Header:
Command MC_RESP_VALUE_STRING 0x93
Number of Characters in Value
Data Count
Application Data:
String + 1
nn
ch ch ch
Data[0] - Data[20] Value String
… 0x00
7.3.18.5 Data Description
Value String:
Data Type: Null (0x00) terminated ASCII string.
Max Length: 21 (20 characters plus terminating Null)
7.3.19 MC-12HD Clear All Parameter Notifications
Request to the MC-12HD to disable all MC-12HD parameter notifications.
26
Lexicon MC-12HD Serial Communications Protocol
7.3.19.1 Command Packet Description
Application Header:
Command MC_CMD_CLEAR_ALL_PARAM_NOTIFICATIONS 0x3D
Data Count 0 0x00
Application Data:
N/A
7.3.20 MC-12HD Get System Status
Request to MC-12HD for its current system status. MC-12HD will respond with “System Status Packet”.
7.3.20.1 Command Packet Description
Application Header:
Command MC_CMD_GET_SYS_STATUS 0x3E
Data Count 0 0x00
Application Data:
N/A
7.3.20.2 System Status Response Packet
Application Header:
Command MC_RESP_SYS_STATUS0x94
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 Ratenn
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
7.3.20.3 Data Description
System Volume:
Data Type: Signed 8 bit integer (2’s compliment)
Max: +12 (0x0C) (12 dB)
Min: -80 (0xB0) (-80 dB)
Current Input:
Data Type: Unsigned 8 bit integer
Definition/Conversion:
Appendix D MC-12HD Input Ids
Current Effect Id:
Data Type: Unsigned 8 bit integer
Definition/Conversion: Appendix_F_MC-12HD_Effect_Ids