Version 1.0 C85/C95/C105 REVISED VERIFIED n.a. APPROVED n.a.
Projector Control 1 SETTING UP .................................................................................................................................... 3 1.1 1.2 RS232 CONTROL CABLE ................................................................................................................................................ 3 RS232 SETTINGS ........................................................................................................................................................
Projector Control 1 SETTING UP To enable serial control, do the following: • Remove the check mark from “Serial Mouse” in the Projector’s FEATURE MENU. This changes the Baudrate from 1200 to 9600 and turns of the Serial mouse data. Connect the serial (COM) port from the Host to the RS232 connector on the projector • 1.1 Rs232 Control Cables Please order the following parts: Part Number 301.102A 301.113B Description Mouse Cable 4 meter PC Mouse Adapter RS232 Straight Table 1 1.
Projector Control 2 GENERAL This document describes the Communication Protocol between a Proxima® Projector and a Computer (Host). By using this connection the Host will be able control the projector. This document is HEX command based only and a regular Terminal program like hyperterminal etc. can therefore not directly be used unless the COM port are activated by the user. This document is aimed at control systems in general which is HEX based.
Projector Control Currently there is only one type of body so the size is fixed to 0x0006. The CRC field contains the CRC of the message. The CRC algorithm is given in Appendix 1. To disable CRC set CRC_lo=0x00 and CRC_hi = 0x00. The Message Head – if the CRC are disabled – then looks like the following string: 0xBE 0xEF 0x80 0x06 0x00 0x00 0x00. This Head will be present in all strings sent to the projector from the host. 4.1.
Projector Control 5 COMMAND RETURN CODES The Serial protocol returns an acknowledgment (“return code”) for every packet sent. If the host sends a packet, then the projector acknowledge the receipt of this packet. The return codes are detailed in the table below. Command Return Code Name ACK Return Code Value 0x06 NAK 0x15 ERR 0x1C 0xXXXX VAL 0x1D 0xXX 0xYY STRING Strings 0x06 Description Packet acknowledged – no errors.
Projector Control Host: 0xBE 0xEF 0x80 0x06 0x00 0x00 0x00 0x01 0x00 0x01 0x00 0x01 0x00 Example 5: Hex sequence for get Brightness Host: => 0xBE 0xEF 0x80 0x06 0x00 0xBD 0x70 0x02 0x00 0x11 0x00 0x00 0x00 <= Projector (70%) 0x1D 0x00 0xB2 Example 5: To get ASCII Information Set Parameter in the State String function Host: Operation Set Packet => Projector <=ASCII Strings <= ACK Page 7 Version 1.
Projector Control 6 TABLE OF FUNCTIONS Scr.dep = Source depended Function Power FuncNum 0x01 F.type State Reset Tune Width Horizontal position Vertical position ColorTemp Rear 0x02 0x03 0x04 0x05 Execute Adjust Adjust Adjust 0x06 0x07 0x08 Adjust Adjust State Ceiling 0x09 State Factory reset 0x0A Execute Function Contrast Brightness Tint Color Sharpness FuncNum 0x10 0x11 0x12 0x13 0x14 F.type Adjust Adjust Adjust Adjust State Keystone 16:9 0x15 0x16 Adjust State FuncNum 0x20 0x21 F.
Projector Control Function On screen display FuncNum 0x30 F.
Projector Control APPENDIX 1: CRC CALCULATION ALGORITHM The following ‘C’ code can be used to calculate the 16-bit CRC required for all packets. The CRC is contained in the packet header and is calculated for the entire packet (header plus body). The CRC calculation is performed with the CRC bytes of the packet header initialized to zero. // Using two 256 byte lookup tables, quickly calculate a 16-bit CRC on // a block of data. // Params: // pcData : Pointer to data to calculate CRC on.
Projector Control // Lookup table used for hi-byte of static const BYTE cCRCHiArray[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x81, 0x40, 0x01, 0xC0, 0x
Projector Control // Lookup table used for low-byte of CRC static const BYTE cCRCLoArray[] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6,0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D,0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9,0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA,0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14,0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13,0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33,0xF3, 0xF2