PPJoyCOM virtual joystick
PPJoyCOM is an application to read data from a serial port and convert it into joystick input
via the PPJoy Virtual Joystick interface. Below is a screenshot of PPJoyCOM:
Selecting a Virtual Joystick
The drop-down list next to Joystick device selects the virtual joystick to use. The list
contains all possible virtual joystick names; it does not detect which virtual joysticks are
actually configured in PPJoy. You need to configure at least one virtual joystick in PPJoy.
The text to the right of the drop-down list displays the status of the selected virtual joystick.
Selecting a serial port
The next drop-down list, next to Serial Port allows you to select the serial port to read.
As with the virtual joystick list, the serial port list displays preconfigured ports and does not
dynamically detect which ports are actually installed in the system.
The additional drop-down lists (below the serial port list) will be enabled or disabled depending
on whether the serial protocol prescribes fixed values for them or not.
The display to the right of the serial port list shows the status of the selected port.
Selecting a serial protocol
The final drop-down list, Serial protocol determines how PPJoyCOM interprets the data it
reads from the serial port. Currently the following protocols are supported:
- FMS PIC 9600 baud (0xF0+ sync) is the original serial PIC interface design for FMS
by Ken Hewitt and described on his web page
http://www.welwyn.demon.co.uk/fms_lead/fms_lead.htm.
- FMS PIC 9600 baud (Alt) is similar to the Ken Hewitt interface. It uses 0xF0 as sync
byte, followed by a byte for buttons and 1-8 bytes for the actual channels. The channel
values can be 0x00 to 0xEF.
- FMS PIC 19200 baud (0xFF sync) operates at 19200 baud and uses 0xFF as sync byte. The
sync bytes can be followed by 1-8 channel bytes. Each channel byte can be between 0x00 and
0xFE.
- Zhen Hua 5 byte protocol operates at 19200 baud and uses 0xF0 - 0xFF as sync byte; the
order of the received bits is swapped around. This protocol is meant to support the Zhen Hua
4 channel radio control transmitter.
The text below the protocol list will display the status of the protocol parser. If you are not
getting joystick input it should provide some clues.
Loading and saving the configuration
PPJoyCOM allows you to load and save the configuration to .INI files. You can also load an .ini
file on startup by specifying it on the command-line when starting PPJoyCOM. For example
PPJoyCOM.exe C:\Config\PPJoyCOM.ini will automatically attempt to load C:\Config\PPJoyCOM.ini
on startup.
Additional notes
- Each instance of PPJoyCOM reads data from single serial port and feeds the data to one
virtual joystick. You can run multiple copies of PPJoyCOM if you need to use more than one
serial port controller. You can however only use one controller per serial port.