FHCS_CheckPi User Manual

FHCS_CheckPi User Manual
Version 1.04
By Frits Handgraaf, 24-December-2013
This document is describing the FHCS_CheckPi software version 1.04 release. This manual
may not apply to earlier or later releases of the software.
The User manual is providing an overview of what is required in terms of system
requirements. It will further describe how to install the software, describe supported functions,
the graphical user interface and the program features.
FHCS_CheckPi is licensed software against a license key fee. The license key can be obtained
for free ($ 0.00). Contact frits@fritshandgraafcs.com or frits.handgraaf@gmail.com to obtain
your license key once installed the program (provide product-code).
Product and program features.
In Check Pi, ‘Pi’ stands for ‘Projector interface’. As such, CheckPi is a tool to check your
interface to a projector (or other intelligent product such as a controllable large display).
The program is not developed to support a specific projector Brand or Model.
It will support and allow you to test ANY projector/display with either a serial RS232
interface, a LAN (Ethernet RJ45) or WLAN (WiFi) interface, as long as you (as user) know
the communication parameters and command string syntax for commands to send and receive
Features of FHCS_CheckPi includes:
- Testing of PC data signals, either via VGA, DVI, HDMI or DisplayPort cable
- Testing of Video signals, either via Composite, S-Video, Component, RGB or other
cable connections.
- Testing of audio signals via audio connections.
- Testing projector control protocols, either via RS232, LAN or WLAN connections.
- Testing projector control string commands, and receiving projector feedback.
- Define your own GUI button captions (label descriptions) in your own language.
- Add your own GUI button icons, by importing graphic files in BMP or JPEG format.
- Save your Setup to registry for auto-load at startup (under your own
manufacturer/protocol specification), or Print out your setup to printer or file. This
way you can (with the same laptop), finalize multiple projector installations easily.
Frits Handgraaf CS (FHCS), specifically developed this program to assist professional
Audio/Visual (A/V) installers.
Once an order has been received, typically, hardware installers prepare the boardroom,
classroom or presentation facility. They install the projector (ceiling mount or rearprojection), install all the cabling, place the projection screen and may be other hardware.
If they have a PC or laptop, video device or signal generator (such as from Quantum Data),
they can verify whether ‘an image is shown’ on the projector. This is merely cabling testing.
Software installers, after the hardware is in place, come with programmable A/V controllers
and touch panel(s), to finalize the Graphical User Interface to the end-user customer’s liking.
Before they program the A/V controller or other A/V device (switchers, scalers etc), they
need to verify whether the projector (or other device):
- can re-present. They too need to know whether a PC image or video is presented
correctly on the projector.
- can be reached. They need to know whether RS232 cabling or LAN cabling is correct,
so that control commands are passed thru.
- can be controlled. After communication parameters are set, they need to know whether
control commands are actually executed correctly.
Given the fact that most software installers are programming A/V controllers and
programming the GUI (touch panel), via a laptop or PC (windows) based program, this is
exactly where FHCS_CheckPi fits in.
After all, as a software installer, you do not want to first program a touch panel, program an
A/V controller, to later find out that the communications settings are wrong or commands sent
out are not understood…
FHCS_CheckPi allows to test before you finalize your programming.
The software will run on any normal (standard) PC or laptop, with XP, Vista or Windows7
(Win7) operating system.
Projector checking specifics and settings savings::
- You can select whether to make a connection via RS232 or TCP/IP.
- Under RS232, you can specify (PC) comm. port, baudrate, parity, databits, stopbits
and handshaking protocol.
- Under TCP/IP you can specify (Projector) IP address, TCP port and local (PC) port to
pass thru a (PC) Firewall.
- Projector can be connected over LAN (Ethernet, TCP/IP, RJ45) or WLAN if it has the
capabilities. The program however is not supporting WEB based TCP/IP access.
- Projector can be connected over LAN with a network adapter (LAN/RS232) if
projector only has RS232 connection possibility.
- You can pre-program the buttons to send out Projector commands, including Power
On, Power Off, PC source input, Video source input, Audio mute and Audio un-mute.
- A direct command window is available to send/receive commands and responses. This
window also allows you to monitor communication traffic.
- From a simple file (projectorsdef.txt) you can read in (pre-)defined communication
settings and projector commands. The package is delivered with examples, but, with a
simple text editor (such as Notepad), you can add entries or change them yourself.
- Save any communication settings or projector commands to registry under your own
manufacturer/protocol name. This is handy when you have to test multiple
manufacturer/protocol or models, of the same brand and type.
Software installation.
Once you have received the software (normally in the form of a ZIP file), Un-zip the file into
an empty folder. Then run setup.exe to start the installation.
The following form will pop-up:
Hit OK to proceed.
Next form will show up:
Left-mouse_Click the button to the left of ‘Click this button to install…’
Next form will be presented:
Select the Program Group under which you want to install the software. Hit Continue:
It might be that an existing file is newer than the one FHCS wants to install. Hit Yes.:
Once all required files are copied and the installation is complete, hit the OK button. The
License Agreement form will show:
Hit the I Agree button or enter Alt + A from the keyboard.
A form will show up showing the calculated product-code:
Like stated before, FHCS_CheckPi is licensed software.
A product code, format ‘ABCD-EFGHIJ-KLMNOP’ will appear in a message box.
This product-code is required to obtain your license key.
Please, with this product-code, contact FHCS.
Note: The product code is depending on a number of characteristics embedded in the PC
on which you want to run this software. You can not duplicate this software and run it on
any other PC. So be careful to choose the PC where you want to run the software on.
Once the license-key is obtained and starting the program up again, the software will request
to enter the license key.
If not obtained yet, hit the Cancel button:
If obtained, enter the license key:
When starting up, FHCS_CheckPi will try to interrogate which RS232 ports are available in
your PC.
An Initialize form appears:
After startup, the Main Window will appear:
If an earlier connection was successfully made, the Control button would be enabled.
If not, hit the Setup button (or Alt + S) to go to the setup form.
Setup, communication parameters.
The Setup window is ‘the heart of the application’. In here, you determine how to
communicate (RS232 or TCP/IP, comm. ports, IP address etcetera), how to name/describe
buttons in the control window, which icons to use in input the buttons, which commands to
send to an attached projector or large display and much more…
Note: Once all your Setup information is done, you do not have to do this again at next startup: all Setup information is saved in the PC Registry, via the Save button or Exit button in
Main (answer Yes).
By default, the program assumes you want to connect via a RS232 connection. That’s why the
Connect via: option for RS232 is true. Also note that the TCP/IP menu (in the top of the
window) is disabled, as are the Proj IP address and the Proj TCP port text boxes entries.
Via the Combo-boxes you can now select over which Comm port in your laptop or PC you
want to communicate with the projector. The combo-box will show all comm. ports available
on your Windows PC. Via the BaudRate, Parity, Databits and Stopbits combo-boxes you can
adapt to projector requirements. In projector documentation this would appear something like
this: ‘115200,N.8,1’.
Most projectors I know of do not use ‘handshaking’ (sometimes also called ‘flagging’), but
with the Handshaking combo-box you can select hardware or software flagging, or both, or
just simply None.
Note: Most projector manufacturers only use the transmit, receive and signal earth pins in
their connectors, without handshaking.
If you want to communicate over TCP/IP, then select the TCP/IP option.
Now that you selected the TCP/IP option, the RS232 combo-boxes, just as the RS232 menu
selection in the top, are disabled. In the Proj IP address and Proj TCP port you can now enter
the values to reach the projector over a LAN or WLAN connection.
Note: The Trail chars combo-box is still enabled. If the projector communication protocol
requires a Cr, Lf or combined CrLf, you can select it here.
Setup, command strings.
In the bottom part of the Setup window, you will need to specify projector commands strings.
Whether you want to communicate over RS232 or TCP/IP, the specified command strings
will be send out via the buttons in the Control window.
Defining the commands is possible in 4 ways:
- Enter ASCII only (from the keyboard) if the projector accepts that. For example
‘(PWR1)’ to power on an InFocus CLI coherent protocol projector.
- Enter Hex only (from the keyboard) if the projector documentation describes that. In
that case enter each Hex value as \xYZ, with YZ being the Hex representative. For
example, \x28 represents ASCII ‘(‘, \x02 as STX, \x03 as ETX or \x0D as Cr. For
example, ‘\x02\x50\x4F\x46\x03’ may power on a Panasonic projector.
- Enter a mix of ASCII and Hex. For example, an entry like ‘\x28PWR?\x29’ will
request power status of an InFocus CLI coherent protocol projector.
- Hit the Projectors (top menu right) entry in the Setup window form. This will allow
you to select from a range of pre-defined command strings (and communication
settings), read-in from a file called projectorsdef.txt (standard supplied). More about
that later in this manual.
Note: Whatever method you use to enter the projector command codes, via Save or Main/Exit,
they will be saved to PC registry exactly as you specified, and after program restart will
appear the same again in the text fields.
Note: The same applies to the Direct line interface Window. In the Send text field, you can use
any of the methods above. More about the Direct line interface Window later is this manual.
If all communication parameters are set, and if all command strings are defined, you may
want to go to the Control Window.
Hitting the Control button will:
- Establish all communication settings, whether for RS232 or TCP/IP.
- Establish all command strings to be used.
- Try to connect either via the specified Comm port, and it’s parameters (Baudrate,
Parity, Databits, Stopbits) and Handshaking, or try to connect via TCP/IP via
parameters provided (IP address and projector TCP port), depending on option chosen.
Note: In connecting via TCP/IP, by default the program is using a PC local port number 0.
This will automatically search for a free PC TCP port . How to change this (e.g. to bypass a
Firewall), is later discussed in this manual.
Note: If a connection was already established, this will be reported in the Direct line interface
window. In that case, a new connection will not be made until you Close a previous
connection. More about this subject later in this manual.
The Control window.
Once you get into the Control window, a communication link should be established, and the
buttons are programmed to send out the projector command strings.
Hitting one of the 6 buttons will send out the pre-programmed command to the projector.
Note: If a connection can NOT be made, you will receive an error message such as the one
below. Later in this manual we will discuss possible causes and solutions to fix it.
Next to the 6 pre-programmed buttons, there is a VERY important button labeled ‘Direct’.
The Direct button will bring up the Direct line interface window:
In the Status frame (below in the form), you can verify what has happened. Any action you
take and any command you sent will be registered here, so that you can verify.
If you have send a command via 1 of the 6 control window buttons, the Status frame will
show what was sent.
The Received frame will record what was received back from the projector. Combining the
Status frame (what was sent) and the Received frame, you can always monitor how the
projector is responding to a command being send, and the response being received.
In the Send frame textbox, you can enter any other command (not defined under any button),
directly. Enter ASCII only, Hex only or a combination, such as earlier described under Setup,
command strings. After you entered the command, either hit the Enter button on the
keyboard or hit the Send button (or Alt + S).
Next to the Received frame, you can check ‘Hex received’. Normally (and when not
checked), the program will display the reply in ASCII. Checking ‘Hex Received’ will first
display the ASCII response followed by a translated Hex response. See example on next page.
The Clear buttons will clear the text fields, so that you can concentrate on what is being sent
and received back.
Note: When the text-boxes contain more then 65000 characters, they will be automatically
Here’s an example of how it may look like after sending a lamp request command from an old
laptop (XP-based) computer:
In the Status frame you can see that the command sent was ‘(LMP?)’.
In the Received frame (3rd line) you can see how the projector responded back: ‘(LMP?)(032676,1950)’ which in this case means, 1950 lamp hours.
Note: CheckPi is not interpreting projector feedback. If an A/V controller programmer wants
to add that to his or her program, this is up to him or her.
In the first 2 lines, the response has been translated to Hex values, with a space between each
of the bytes. So in this case, both ASCII and Hex translated response is shown.
Next (Right) to the Status frame is, what we call, the communicator indicator.
In this case, the communication indicator is colored Dark Green.
If you send out a command to a connected projector, the communication indicator will be
Light Green. If a response is received back, it will color Dark Green. This is, in the Direct line
interface window, a simple indicator to show your connections and responses are okay.
Note: You can bring up the direct line interface next to the Control window, for monitoring.
How else can you tell the connection is okay?
Hitting the Return button in the Direct line interface form or Setup in the Control window
form, will you bring back into Setup:
Note in the top/right corner, the option RS232 is true, and the dashed line underneath it has
changed to a solid line, indicating a successful connection has been established.
Also note that the TCP/IP menu (top of window) is disabled.
Under RS232 (menu, top of window), hit State:
All of this indicates you have a good connection.
Adapting the GUI (graphical User Interface).
So far, this user manual, the whole program and all program text is written in the English
language. Most A/V professionals do not have any problem with that. But may be, they want
to adapt this program, to their own liking. With FHCS_CheckPi that is possible.
Hit the Buttons button in the Setup window:
In the left ListView you will see the Default defined button labeling. The right ListView
shows your own modifications. In this case, no modifications were (yet) made.
Note: An ‘&’ in front of a character allows a keyboard input like ‘Alt+O’. In this example it
will execute code under the &ON button.
What is the main purpose of this form ?
Within this form you can:
- Define your own (text) labeling to the button in the control window, in your own
language (examples will follow). This way we can support multi-lingual
- Select icons (or pictograms) to be added to the command buttons (or remove them
- Select photo’s or other graphics to be added to your buttons (or remove them again).
- Preview labeling (text) and/or graphics.
- Undo text changes (back to default) or remove graphics.
Note: No button was selected (yet) in the right ListView. You can also tell by the Key Nr.
Which in this case is 0.
In the next screenshot we selected the Mute button:
After we selected the ‘M&ute’ button in the right ListView, and under the Preview button, the
button will show the labeling and the selected (in this case) icon or pictogram. This represents
the current setup.
In the left ListView you will see the default original labeling text. These defaults will never
Under the ‘Current customer defined description:’ label, you can enter the text you want on
your command button. In this case we have entered “Kein Audio” but we did not yet confirm
this (via an Enter from the keyboard or hitting the Enter button in the window).
Via the preview button and the show button underneath it you can see it still displays ‘Mute’.
Either hit the Enter key on your keyboard or the Enter button in the window form, to change
your text accordingly.
After this, the right ListView text has changed to ‘Kein Audio’ and the show button has too.
The left ListView description has not changed (still displays ‘M&ute’).
At this point, either hit the Apply button or the Undo button.
Undo will restore the original text labeling (in this case ‘M&ute’).
Apply will bind the new text (‘Kein Audio’) to the button, but will not close the window so
that you can make other text labeling changes.
Note: In this case the key nr is 5. FHCS_CheckPi is counting key numbers and labeling from
left to right, with the &On key as 1.
Note: Apply will not change modifications made to the associated icon or graphics file. This
is done by a Add and Apply combination.
Note: Some pre-defined icon (pictogram) files are supplied with FHCS_CheckPi for free.
These can be found in the program folder where you installed FHCS_CheckPi. You can make
your own icon files or graphic files yourself with icon-editors or obtain them (e.g. jpg or
photo’s) from the Internet.
Next to changing text associated with a command button or label, you can also change
graphics associated with a button.
In the next example, we selected the PC button, to add graphics associated with it.
Hit the File button to select a graphics file for the PC button:
A Dialog will appear. Browse to your folder and select the graphics you want.
Double click the file or the Open button to add graphics or icon to your button.
As an example, we selected an image obtained via Internet:
If you are content with your selection, hit the Add button. This will bind your selection and
make it appear it the control window.
If not content, hit the remove button. You can then select another image or do without.
Note: As stated before, make sure to hit the Apply button for text changes to go into effect, hit
the Add button for graphic images to go into effect.
Hit the Close button to go back to the Setup Window.
If, at this point, you want to go to the Control window, without making any other changes, the
control window will appear as follows:
Note: Because the graphic file added to the ‘PC’ Button is larger than a 16*16 or 32*32 icon
file, the text labeling is not seen.
Note: Some Backgrounds and Icons (images, photo’s, etc) are included with the software.
Frits Handgraaf CS over time has collected these via Internet access. As an end-user you may
do the same. On request, FHCS can provide the current collection.
Note: Images nor button icons may fit. You may have to scale them accordingly.
Note: PNG files can not be loaded with this software. You may want to translate these images
into bmp, jpeg or other compatible sources.
In the image, the ‘PC’ button now has an image associated. The ‘PC’ labeling text is behind
the graphic image (because the image itself is bigger than 16*16 or 32*32 pixels).
Whether you want to change the text labeling or add graphics, it’s all possible via the
‘Buttons’ form.
What else can be adapted and set in the Setup form is discussed in the next chapter.
Setup, additional settings and functions.
In the top of the Setup form you have access to menu’s which provide means of further setting
up your system environment.
- CommandDelay is the delay between sending commands. A message box will pop-up
allowing setting command delay in milliseconds. Setting command delay prevents that
the projector is receiving a second command while still processing the first.
- ReadDelay is the delay before reading a full reply from the projector. ReadDelay
makes sure enough time has passed before reading the entire input buffer, after the
number of bytes, specified in RTreshold, are received.
- RTreshold allows to specify a minimum number of bytes (characters) to be received
before triggering the read input buffer routines. Default is 6, increase or decrease
depending on the length of projector feedback
Depending on your communication speed (baud rate), length and quality of your RS232
cabling, you can use any of these 3 parameters to adapt to the system setup and environment.
- Manufacturer allows to specify a manufacturer name. This name is saved to registry.
- Protocol allows to specify a manufacturer’s protocol or model. The protocol name is
saved to registry.
You can specify any name for manufacturer and protocol. As all communication settings and
the command strings are also saved to registry, you basically specify an application setup. If
the AV installation uses the same projector in different rooms, you don’t have to fill in the
communication settings and command strings again. They are read back from registry.
Note: Specifying a manufacturer name or protocol does not load anything, it’s only used for
savings purposes.
Note: After reading in the projectorsdef.txt file, you can select manufacturer and
protocol/model from a listview. This will transfer communication settings and commands into
the Setup window, where it can be adopted if so desired. Manufacturer name and protocol
name will then be adapted. See the chapter about the projectorsdef.txt file and the menu
description, later in this manual.
- State will show the state of the RS232 connection to the projector or other large
- Close will close the RS232 connection. Use this if the connection is in error or to
select another comm. port.
- Connect can be used to (re-)connect to the projector, e.g. after you changed
communication parameters. Note: When going to the Control window, the program
will verify whether a connection was already established. If so, it will leave an
established connection intact. If not, it will make a new connection.
- Comm OpenDelay. Depending on technology used in your Control PC, you can set
enough time for a comm. port to open successfully. Increase the timing if the comm.
port fails to open (default is 500 milliseconds).
- State will show the state of the TCP/IP connection to the projector. This only applies
when a projector is connected via TCP/IP, either directly or via a LAN/RS232 adapter.
- Close will close the TCP/IP connection. Use this if the windows socket is in error or
keeps trying to connect. When in error, make sure the IP address and TCP port are
Connect can be used to (re-)connect to the projector, e.g. after you changed IP address,
projector TCP port, or PC local port. Note: When going to the Control window, the
program will verify whether a connection was already established. If so, it will leave
an established connection intact. If not, it will make a new connection.
Ip Ping can be used to verify whether a projector (or large display) can be reached at
all via the IP address you specified. The ‘ping’ function is similar to the ping function
in Windows (run_cmd_ping_IPaddress), but it is based on low level kernel functions.
It is an aid to quickly determine whether current set parameters can address the
projector, large display or other A/V product:
Note: A message as the one above tells the IP address is not responding. If successful, you
get a successful message.
Local Port. Use this to change the PC TCP port number. This may be required to get
through a Firewall. Select to change a local port for reaching the projector. Note: The
default Local Port is 0. This means that the program will use the first free available
TCP port to reach the projector. If you rather want to set a fixed port, so that you can
change settings in your Firewall and allow sending/receiving via this port, change it
here. If you keep it to 0, you may need to disable the Firewall.
In the bottom of the Setup screen there are buttons we did not discuss (yet):
Save. The Save button will save current communication and command settings to registry.
Once saved, they will be automatically (re)loaded after next program (re)start. Note: Save will
section, so that more users on the same PC can use the program. However, you may need to
have administrator rights to save these or even to run this program.
Print. If you want a printed output of all communication settings, hit the Print button. If a
‘default’ selected printer is connected to your PC, it will print a paper copy. If not, a dialog
will appear allowing you to save it as a digital xps document. This file can later be printed via
Explorer on another PC with printer attached.
Main. Via the Main button you get back in the startup window. In here you can decide to Exit
the program or continue working. When changes were made in the Setup form but not saved,
the Exit button will show a dialog still allowing to save your changes made. This is good
practice for leaving the program, and closing all forms and connections, so that memory is
freed and RS232 or TCP/IP connections can be used by other programs.
Setup, Projectors.
The image on this page shows what happens once you hit Projectors in the menu.
For the 6 predefined command strings (power on, power off, pc input, video input, mute, unmute) and for predefined communication settings (RS232 and TCP/IP) it will read in a
predefined text file (projectorsdef.txt) and place the content in a Listview on a new window
Scroll down to see more manufacturers/protocols or scroll right to see the command strings.
In the example you see that Manufacturer Vivitek and Protocol SIS are selected.
After you hit the Apply button and the Yes button in the message, the Setup window will
change accordingly:
If you at this point hit the Control button, the program will (try to) make a new connection
using the new communication settings.
Note: If a previous connection was made, you want to close that connection first (via RS232
or TCP/IP Close), so that the RS232 or TCP/IP connection parameters can be reprogrammed.
Next to the communication settings, the command strings are re-defined and go into effect
once a (new) connection is made (either via the Control button or RS232 or TCP/IP Connect).
Note: If you realize you made a wrong selection all together, do not panic! There are 2
ways to come out of this situation:
- Leave the program WITHOUT saving current settings, and re-start it. This will read
in previous definitions from the registry.
- Go back to the Projectors window and select (and Apply) another entry.
If you did not yet hit the Apply button, hitting the Unselect button will bring you back to
start-up status.
The top right label will tell you whether the projectorsdef.txt file was found and successfully
loaded (or not). If the Listview remains empty, this is an indication of an un-successful load.
The label beneath it will show the currently selected manufacturer/protocol.
Note: When you select Projectors in the Setup menu, the program will read-in the
projectorsdef.txt file and the Apply button will be disabled until you make a selection in the
Listview. The label will show the manufacturer/protocol which was read out of the registry at
program startup. If you made a selection, the Apply button will be enabled. Hitting the
Unselect button will unselect and bring back the original status.
Note: Only after hitting the Apply button, the Setup window will be updated.
Hitting the Setup button will bring you straight back to the Setup window.
As stated before, using the Projectors function is absolutely not required.
In some cases it may prevent to carry extra weight in paper describing communication and
command syntax. In other cases, you can amend projectorsdef.txt in the office or before you
travel to the installation site, to be prepared.
Surely, next to the pre-programmed communication settings and (6) command strings, you
may need other command strings for different functionality. And you can test those via the
Direct line interface window, and verify the replies.
CheckPi is aimed to be a projector/large display interface checking utility. The combination
of Projectors and the projectorsdef.txt file is a tool to assist in that aim.
More about projector communication settings and command syntax (for just a few suppliers)
in the next chapter…
Projector commands.
Note: This chapter does not intent or claims to provide exact matching guidance for
Projector manufacturers and/or their models, or to be precise and totally correct.
Depending on models, the command syntax can be totally different. Depending on models,
the serial (RS232) or LAN (TCP/IP) commands and syntax can be totally different too. This
paragraph is solely presented to give some hints. If you do want to control a projector via
this program, refer to manufacturer documentation to get it right.
In Setup, you can program the commands to Power On/Power Off projectors, switch PC or
Video input, or to Mute/Un-mute audio. In the Direct Line interface you can test other
projector commands.
Some manufacturers and their models allow to enter ASCII only commands, some allow to
enter Hex only commands, others allow a mix of Hex and ASCII. FHCS_CheckPi (Setup and
Direct Line) allows to enter a mix. It can differentiate a Hex byte versus an ASCII byte via a
\xwz input (wz is the Hex number representative).
InFocus CLI (Command Line Interface).
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: None
InFocus projectors adhering to the ‘CLI’ protocol will accept ASCII commands. For instance,
powering up the projector can be accomplished by entering ‘(PWR1)’ without the ‘ quotes.
In this program you can also enter ‘\x28PWR1\x29’ to accomplish the same effect, which is
powering on the projector, whether via RS232 or TCP/IP.
Or alternatively, enter ‘\x28\x50\x57\x52\x29’ (all Hex).
‘(PWR0)’ is powering Off.
Other commands (depending on model source and build-in speakers):
Mute enabled on
Mute enabled off
Most legacy InFocus projectors do not have a TCP/IP (RJ45) interface but can be addressed
via a network adapter such as the Lantronix UDS-10 or UDS1100. In that case the TCP port is
InFocus IN.
The settings and commands described here are specific for the IN3916, but may apply to other
IN series models too.
The major difference is in the communication setting: 115200,N,8,1. Next to that, the protocol
has the same syntax as the CLI protocol, but source select may be different. Handshaking:
None. Trail: None.
You can address the InFocus IN3916 via Telnet, and as such set TCP port to 23. Adapt the IP
address to the environment.
Power On
Power Off
Composite video
Mute enable
Mute disable
NEC PX series.
The settings and commands described here are specific for the PX700W and compatible PX
series, but may apply to other (NP series) too.
Serial communication setting: 38400,N,8,1. Handshaking(flagging): None. Trail: None
Note: Older series operate with 9600 baud.
Default IP address is Default TCP port is 7142.
Command frame format is ‘header’ + ‘data’ + ‘checksum’.
Though commands do not require a trail character such as Cr or CrLf, all commands require a
checksum as end of command, such as projector input source switching. For example the
checksum for input source 2 (RGB1) is 2 + 3 + 2 + 1 + 1 = \x09
Power On
Power Off
Input source 1 (HDMI), Computer
Input source 5. Composite video
Audio Mute On
Audio Mute Off
For selecting the PC1 (RGB1) VGA input (input source 2):
Panasonic PT.
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: None
Most Panasonic projectors (models PT) require a syntax such as STX 3Command bytes :
Parameters and ETX. A power on example is like this: ‘\x02PON\x03’, which is a mixture of
Hex and ASCII. You can also enter an all Hex format.
Note: As Hex values below 32 can not be presented in ASCII, the Debug window may show
‘|PON|’ , or other characters, as sent out.
You can also enter a power off command (for example), in full Hex: ‘\x02\x50\x4F\x46\x03’.
Note: Panasonic projectors may have an identifier. Syntax would then be:
STX AD I1I2 ; C1C2C3 : P1P2Pn ETX
AD I1I2 ; designates the ID where AD can be ZZ (for All), I1 and I2 1-64 and 0A-0Z
Examples: ADZZ for ‘All’, AD01 for ID1, AD0Z for group Z.
In that case a power On would look something like this:
‘\x02ADZZ;PON\x03’ or ‘\x0200;PON\x03’
Note: As we did not have a Panasonic available for testing, we are not 100% sure.
Other commands:
‘\x02IIS:RG1\x03’ Input device is RGB1
‘\x02IIS:VID\x03’ Input device is Video
‘\x02AVL:000\x03’ Audio volume level is 0 (there is no Mute command)
\x02AVL:032\x03’ Audio volume level is 32
Some Panasonic projectors may have a RJ45 connector, but we are not sure from the
documentation which TCP port to address.
Epson ESC/VP21.
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: Cr
EMP projectors from Epson, adhering to the ESC/VP21 protocol, have a syntax like
: command + Cr
In this case we call the Cr a ‘trailing character’.
Now there are different options.
You can enter ‘:PWR ON’ in ASCII, while specifying in Setup, trail character to be ‘Cr’.
Or you can enter ‘:PWR ON\x0D’, with in Setup, trail character to be ‘None’.
Via TCP/IP the projector TCP port to address is: 3629 (factory default).
Other commands:
‘:SOURCE 00’
Source 0, RGB/VGA or whatever the input is specified to
‘:SOURCE 01’
Source 1, Video
Note: Next to the RS232 command interpreter, you can send other commands once you first
invoked ESC/VP.net. This command interpreter allows to adapt TCP/IP settings such as IP
address, subnet, gateway, password, events etc. but it requires a successful TCP/IP
connection first ! See the Epson documentation.
ViviTek SIS (Serial Interface Specification).
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: Cr
ViviTek projectors applying to the SIS protocol will accept ASCII commands. Command
structure: ~AB + Cr. Set trail character to Cr or end the command with a \x0D (trail character
is None). Power ON: ~PN, power off: ~PF.
Other commands:
‘~SR’ Source RGB
‘~SV’ Source video
‘~rT’ Mute/Unmute
A network adapter such as Lantronix UDS1100 can be used for TCP/IP connection.
ViviTek D8xx.
Many projector suppliers may also OEM from other manufacturers. The D8xx series have
another protocol.
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: Cr
Command structure: V ID Type Group X1X2 P, where V is the header, ID is a 2 byte
projector identifier (00-98, 99 is All), T is command type (S or G), Group is a 2 byte
command group indicator (00 – 04), X1 and X2 indicate the command, and P are parameters.
Power On: ‘V99S0001+Cr’ .Set trail character to Cr or send ‘V99S0001\x0D’ (with trail is
None). Power Off: ‘V99S0002’ (trail character set to Cr).
If you do not want to address all projectors, change the ID accordingly.
Other commands:
‘V99S0201’ RGB
‘V99S0204’ Video
‘V99S0413’ Mute/Unmute
Japan Inc. PJLink.
In 2005 most Japanese projector manufacturers decided to adhere to 1 specific protocol
definition for networked (TCP/IP) communication. They called it Projector Link (PJLink).
Obviously the IP address is not standard but the TCP port to address was set to 4352. Trail: Cr
Note: The projectorsdef.txt file accompanying FHCS_CheckPi, contains the entries for all so
far listed projectors. For coherence, in this file, communication setting for RS232 are set to
9600,N,8,1 with Handshaking set to None.
‘%1POWR 1’ Power On
‘%1POWR 0’ Power Off
‘%1INPT 11’ Input RGB1
‘%1INPT 21’ Input Video1
‘%1AVMT 31’
A/V mute On
‘%1AVMT 30’
A/V mute Off
Note: ‘%’ is the header character. The ‘1’ in the example above is indicating the ‘class’.
Change accordingly if required.
Mitsubishi Former.
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: Cr
Command structure: 00 function data + Cr, where ‘00’ is the header, the function byte
indicates the function and the data byte the parameter. Set trail character to Cr, or to None
(and add \x0D).
’00!’ Power On
‘00”’ Power Off
Input RGB1
Input video
A/V Mute/Unmute
Mitsubishi New.
Serial communication setting: 9600,N,8,1. Handshaking(flagging): None. Trail: Cr
Command structure: 00 ;ID; function data :N + Cr, with ID being projector identifier (00 –
63) or group identifier (0A – 0Z).
’00;01;!:N’ Power On
’00;01;”:N’ Power Off
’00;01;_r1:N’ Input RGB1
’00;01;_v1:N’ Input Video
’00;01;ra6:N’ A/V Mute/Unmute ?
Projection Design F35.
Serial communication setting: 19200,N,8,1. Handshaking None. Trail: Cr.
Command structure:
1 byte header, separator, 1-3 bytes address, separator, message body, terminator. The space
separators are optional, terminator is Cr, header is ‘:’
Power On
Power Off
Input DVI1
Input HDMI1
Toggle OSD menu on/off (F35 has no audio commands).
The F35 has a default IP address of meaning that it expects an IP address to be
assigned by a DHCP server. TCP port is 1025.
Projection Design F32F82.
Serial communication setting: 19200,N,8,1. Handshaking None. Trail: Cr.
Baudrate can also be set to 4800 or 9600.
Command structure:
1 byte header, separator, 1-3 bytes address, separator, message body, terminator. The space
separators are optional, terminator is Cr, header is ‘:’
Power On
Power Off
Input VGA
Input composite video
Toggle OSD menu on/off (F35 has no audio commands).
The F35 has a default IP address of meaning that it expects an IP address to be
assigned by a DHCP server. TCP port is 1025.
Note: There is little difference between F35 on one hand and both F32 and F82 series, except
for input connectors.
Optoma General.
Serial communication settings: 9600,N,8,1. Handshaking: None. Trail: Cr.
With trail set to None, add \x0D to command string.
‘~XX00 1’
Power On
‘~XX00 0’
Power Off
‘~XX12 5’
Input VGA1
‘~XX12 10’ Input video (composite)
‘~XX03 1’
‘~XX03 0’
Note: According to the user manual for the TH7500-NL, you can set an IP address and TCP
port for a Crestron controller (via web browser such as Explorer). In principle, you can also
use that for this program. The manual suggest as example with TCP port being
Eiki LC-series Basic.
Serial communication settings: 19200,N,8,1. Handshaking: None. Trail: Cr.
With trail set to None, add \x0D to command string.
‘C00’ Power On
‘C01’ Power Off
‘C05’ Input1
‘C06’ Input2
‘C0B’ Mute
‘C0C’ Unmute
Other projectors.
See their user manuals!
In principle you can use the PJLink protocol to address Japanese produced projectors over a
network connection.
If you have any input about other projector protocols, let us know.
As you can tell from the descriptions above, most projectors use Cr (\x0D) as terminating
character. In this program, set Trail to Cr, and you can type and send the ASCII command
strings as listed. If trail is set to None, make sure you add: \x0D to the strings.
Alternatively, you can write all strings in Hex, provided \x is preceding each byte.
See: Setup, command strings., earlier in this manual.
As stated before, we can not list any possible manufacturer and model, and associated
commands. And we did not study specifically or purposely only the user guides and protocols
of afore mentioned manufacturers. Sure, there are many more manufacturers and models that
we can list or describe in this user manual, but we want to keep it short in length.
But you, as a user of FHCS_CheckPi, may be do not want to carry all model specific
commands and protocol manuals either. Or carry this manual with you all the time.
As a simple but powerful solution, a file called ‘projectorsdef.txt’ is distributed as part of the
complete package. This file embeds the same communication setup and string commands as
listed and described in this document. This file is placed in the program folder.
The file is named simply: projectorsdef.txt.
And this file can be read into FHCS_CheckPi (via Setup top menu Projectors).
Can you adapt, change, modify or add manufacturer protocol description or model definitions
yourself ? Yes, off course. With a simple text editor such as Notepad you can. Just make sure
the projectorsdef.txt file name is not changing, because that is the filename FHCS_CheckPi is
looking for in the application path (program) folder.
You will also need to stick to the following format:
Line 1 should read FHCS_CheckPi
Line 2 should be empty
just enter for the next line, this indicates new definition
Line 3 reads manufacturer
Line 4 reads protocol or model
Line 5 reads communications settings e.g. 9600,N,8,1
Line 6 reads handshaking (flagging) e.g. None, Xon/Xoff (software), Hardware (RTS/CTS)
Line 7 reads trail character
e.g. None, Cr, Lf, CrLf
Line 8 reads projector IP address
Line 9 reads projector TCP port
e.g. 10000
Line 10 reads power on command
Line 11 reads power off command
Line 12 reads PC input command
Line 13 reads Composite Video input command
Line 14 reads Audio Mute command
Line 15 reads Audio Un-mute command
Line 16 should be empty
end of definition, start of new definition, repeat
Line 17 reads manufacturer
Line 18 reads protocol or model
Etcetera, etc, complete the list with as many entries as you want, not exceeding the text
application editor capacity.
FHCS_CheckPi is a low cost (actually, 1.04 is free of charge) but powerful program to test
your projector, large display or other interfaced device, over an RS232 or TCP/IP connection.
It allows to test:
- Commands. Before you start programming an AMX, Crestron, Extron or Creator
controller and test via an attached Touch Panel, you want to make sure that the
projector is reacting to the commands you send, precisely as you want, and that you
can react on the replies received back. You may need to program some timing delays
in the controller, depending on system installation environment, projector used,
cabling and cabling length. Next to the 6 control window buttons which can be
programmed to send out On, Off, PC, Video, Mute, Un-mute, you can basically
program it (and change caption/labeling and icons) to send out any command. And via
the Direct Line interface you can send out any command via a few keystrokes.
- Control cabling. If a connection can not be made via this program, chances are pretty
high it can also not be made via the controller. Via FHCS_CheckPi you can
experiment, adapt and test until you are very sure your RS232 or TCP/IP cabling
connections and required pin-layouts in the cabling, are correct.
- Data cabling. If your A/V controller is to pass on graphics, either from VGA, DVI,
HDMI or Display Port sources, you want to make sure the projector or other large
display product is representing it correctly. If the A/V controller also embeds scaling
or resolution settings, you can emulate that on your PC or laptop.
- Video cabling. If your A/V controller or A/V switcher, is to pass on video signals,
either from PC or other sources, via Composite video, S-video, Component video,
RGBHS or other, via FHCS_CheckPi you can test the commands required and see the
- Audio cabling. Though in actual practice, not many projector speakers are used for
audio reproduction, you can test audio cabling anyway. Whether to projector or audio
amplification system.
Still using HyperTerminal ? Still using HyperTerminal look-alikes ?
Try using FHCS_CheckPi instead !
Contact FHCS for more information.