User manual
Code Mercenaries
7
JJ
JJ
oo
oo
yy
yy
WW
WW
aa
aa
rr
rr
rr
rr
ii
ii
oo
oo
rr
rr
5.0 Device Operation
By following the USB HID specifications
JoyWarrior chips are able to work with most
operating systems without the need to supply
special drivers. Any operating system with support
for USB HID game controllers will have the
necessary drivers already in place.
5.1 Operation with Windows
Any Windows versions newer than 98 will work
with JoyWarrior. Older versions of Windows do
not support USB or support only a subset of the
functionality.
Upon connecting a JoyWarrior based device for the
first time you may be asked to perform the
standard driver install. The same may happen if
you connect the device to a different USB port on
the same computer. In this case let the system
install the default drivers.
After the driver installation has completed you
should be able to see the device in the "Game
Controllers" control panel and be able to access it
via DirectInput.
5.2 Operation with MacOS
MacOS 9.0 and up and MacOS X do support
JoyWarrior. Some versions of MacOS 8.x do
support USB as well, though their use is not
recommended.
On MacOS X access to the joystick data is
available via the HIDManager.
There will be no warnings or dialogs when a
properly functioning JoyWarrior based device is
connected under MacOS, it will simply start to
work.
5.3 Protocol Specifics: JoyWarrior24GP32
Even though JoyWarrior24GP32 is a gamepad
style device it does report the directional data as a
joystick with two axes of 8 bit each. For left and up
directions 0 is reported, for neutral 127 and for
right and down 255.
This method was chosen since the gamepad data
format does cause problems with several older OS
variants (Mac and PC) and some games.
5.4 Jitter Filter in JoyWarrior24A8-x
Since any A/D converter generates quantisation
noise (the least significant bit jittering at voltages
close to the threshold between two values)
JoyWarrior24A8-x variants (not JW24A8L) use a
simple but efficient jitter filter. Only if the axis
values change more than ±1 digit the data is
actually send to the host. This efficiently
eliminates quantisation noise but retains full
resolution and reaction speed. If there is still noise
on the axis data you should check your circuit for
the cause.
If the RAW pin on the JoyWarrior24A8-x is pulled
high this will also disable the jitter filter.
5.5 Autocalibration and autocentering -
JoyWarrior24A8-x
The JoyWarrior24A8-x chips do have a
autocentering and autocalibration function that
compensates mechanical tolerances of the joystick.
When autocalibration and autocentering is
activated (i.e. RAW pin is unconnected or pulled to
Gnd) upon power up the JoyWarrior24A8-x will
sample axis data for about 200msec and then use
the current stick position as center. The chip then
assumes that each pot will reach 60% of its total
range and will scale all axis data accordingly to
cover the value range of 0 to 255. If any axis is
moved beyond the assumed range the scaling will
be adjusted.
To calibrate a joystick with the autocentering
feature activated it is sufficient to place the stick to
about center before plugging it in and then move
the stick to all maximum positions. The
JoyWarrior24A8-x will optimize the value scaling
for best resolution.
Pulling the RAW pin high for more than 20msec
and then let it go low again triggers a recalibration.
5.6 Pot and capacitor values for JW24A8-x
The JoyWarrior24A8 is optimized to be used with
a 4.7nF capacitor and 100kΩ pots. A ceramic multi
layer capacitor may be used as the measuring
capacity. It is not recommended to use ceramic
disk type capacitors because of their microphone
effect.
Varying the pot or capacitor values may result in
sub optimal performance. Larger capacitors may
not sufficiently charge or discharge, while smaller
values may introduce more noise.
To optimize the setup it is recommended to check
out the axis values in RAW mode. Ideally the
values in raw mode should range from 0 at one end
of the pot position to 255 at the other end.
5.7 Remote Wakeup
All JoyWarrior chips support the remote wakeup
feature. They are able to wake the host computer
from sleep state if the host operating system does
enable this feature.
Remote wakeup is initiated by JoyWarrior if any
button is pressed or if any switch of the direction
pad closes. Changes on the analog axes are not de-
tected.
V 1.1.0, July 1st 2010 for Chip Revision V1.0.4.0 and up