Serial Communication
Mirage WQ-L User Manual
69
020-101372-01 Rev. 1 (04-2014)
Maximize Message Integrity
For additional reassurance and/or maximum message integrity, you can insert one or two special
characters:
• Acknowledgements: If you want assurance from the projector (or group of projectors) that a
set message has been processed, request an acknowledgement. An acknowledgement is
returned after a message has been received and fully executed by the projector (i.e. in the case
of a source switch it is not sent until the switch is complete). If a message is not able to execute
for some reason (i.e. invalid parameters, timeout, etc) a NAK is returned instead (Not-
Acknowledge). Note that requesting an acknowledgement serves no purpose when included in a
request message, since the acknowledgement will be redundant to the actual reply from the
projector. However, if requested, the “$” acknowledgement from the projector will follow the
reply.
There are two types of acknowledgements:
• Simple Acknowledgements: Insert a “$” character just after the start code “(“. This will only
return a ‘$’. This will only return a '$' on success, or a '^' on failure (NAK).
• Full Acknowledgements: Insert a “#” character just after the start code “(“. This will return
the message sent, as a reply.
This is a quick way to confirm success with set messages, and is particularly useful with long-
distance communication links or where the projectors and/or images are not visible from the
controller. Acknowledgements can also be a type of flow control.
Checksums: For maximum message integrity, add a checksum character “&” just after the start
code “(”. You must then also include the correct checksum total (0-255) just before the “)” end
code. Make sure to add a space before the calculated checksum to separate it from the last data
parameter:
The checksum is the low order byte of the sum of the ASCII values of all characters between the
“(“and the beginning of the checksum, but not including either. It does include the space in front of
the checksum. Calculate the checksum for the above “set contrast to 64” command as follows:
CHECKSUM EXAMPLE = & + B + G + F + 2 + 2 + 2 + ‘space’
= 26h+42h +47h +46h +32h +32h +32h+20h
= 01ABh
= ABh when only the low byte is used
= 171
The projector collects all of the message bytes as defined in the first byte of the message, then
creates its own checksum value for comparison with the checksum included in the controller’s
message. If the values match, the message is considered to have been correctly received—
otherwise the message is discarded.
i
‘h’ indicates a hex number. If a “request” message has a checksum so will the reply.
If using both “acknowledge” and “checksum”, either character can occur first.