News Associations Corporate Profile Credit Application Employment Line Card Locations Order Form Terms and Conditions
FAQ's Lingo Words Machine Component List MSDS Product Support Service Bulletins Service Centers Service Request Training
Gaming Amusement Vending

LOG IN
View Cart
Forgot Password
Register New Account
How To Shop

Amusement
Vending
Gaming
Interactive/Kiosk
Industrial
PC Arcade
Service Center

Accessories
Acrosser Boards
Arcade Parts
Bill Validators
Billiards
Cleaning &
    Maintenance

Coin Comparitors
Coin Doors
Coin & Currency
Darts & Foosball
Digital Signage
Driving Controls
Electrical Supplies
Game Devices
Gaming Parts
Hoppers
Joysticks
Jukebox & Music
Keyboards
Lighting
Material Handling
Midway Parts &
    Service

Monitors
Optical Guns
Pinball Parts
Power Supplies
Printers
Promotional Items
Pushbuttons
Redemption
Security
Starpoint
Table Games
Technical Support
Tools
Topper Boxes
Touch Screens
Tower Lights
Trackballs
Vending Parts

Technical Manual CIB-1000

Happ Controls
Control Interface Board (CIB-1000)
Technical Manual
[RS-232 Control Interface Board]
P/N 96-0167-00

hr.gif (269 bytes)

     The Happ Control Interface Board (CIB) is designed to provide an interface between any control that Happ manufactures and an IBM compatible PC running Windows '95 or higher with Direct X 5 or higher. The CIB is located at or near the controls and communicates to the computer via RS-232 at 57.6KB. The CIB can be located over 50 feet from the PC. It is powered by an optional power supply and draws no power from the computer. The interface is connected to the PC via a standard 9-pin DB9 COM port on the computer. The CIB can transmit updated information to the computer at a selectable rate of either no updates (polling), 16 or 32 updates/second, or continuously (>225 updates/second).  The controls are added as a joystick in Control Panel/Game Controllers.

 

Operation

The Happ Controls Control Interface Board (CIB) allows for 16 digital I/O signals, six digital input signals and four filtered analog input signals. Commands allow the PC to configure and query the CIB. All commands and queries must be immediately preceded and terminated by a line feed character followed by a carriage return.

{Chr(10)+Chr(13)}

This board operates on 8-12 Volts DC or on 6-9 Volts AC, supplied on J4. DC supply is polarity sensitive. The ground side of the power connector is connected to the ground of the whole circuit. For an AC supply, it is recommended that the AC source be a floating transformer secondary winding. For DC sources, care must be taken to ensure that no ground loop paths are formed between the power supply’s ground line and the ground line of the various devices attached to the board. For this purpose, all device connectors (J1,J2,J3 and J5) have been fitted with a set of ground and regulated 5Volt outputs to allow the board to serve as the central power supply ground connection point to all devices. For security reasons, a separate safety ground line should be used on all devices to assure user safety and to provide a static discharge path.

Table of Contents

 

Programming and Interconnection Model:

J1 is an analog input port. It contains four (4) analog inputs. These inputs are designed to receive signals in the range of 0 to 5 Volts DC. The onboard A/D converter translates this to a reading of 0 (~0 Volts) to 255 (~5 Volts).

J1 is a 9 pin connector. Pins 1 and 9 are designed to supply filtered analog power to 2 joysticks with ground returns on pins 8 and 3. Pin 4 corresponds to analog input 1, pin 5 to analog input 2, pin 6 to analog input 3 and pin 7 to analog input 4. Pin 2 is an absent key pin.

IMPORTANT: The CIB sends information to the host whenever an analog input changes. As the noise on floating inputs may represent a continuously changing input, unused analog inputs MUST be grounded. Analog inputs should never be left unconnected.

J2 is an 8 bit digital I/O port. Pin 12 is a +5 Volt DC supply line with pins 1 and 11 acting as ground returns. Pin 2 is I/O 0, pin 3 is I/O 1, pin 4 is I/O 2, pin 5 is I/O 3, pin 6 is I/O 4, pin 7 is I/O 5, pin 8 is I/O 6 and pin 10 is I/O 7. Pin 9 is an absent key pin.

J3 is an 8 bit digital I/O port. Pin 12 is a +5 Volt DC supply line with pins 1 and 11 acting as ground returns. Pin 2 is I/O 8, pin 4 is I/O 9, pin 5 is I/O 10, pin 6 is I/O 11, pin 7 is I/O 12, pin 8 is I/O 13, pin 9 is I/O 14 and pin 10 is I/O 15. Pin 3 is an absent key pin. Note: If a trackball is used, connect is outputs from one axis to I/O 12 and 13 and the other axis to I/O 14 and 15.

J5 is a 7 bit digital input port. Pin 12 is a +5 Volt DC supply line with pins 1, 10 and 11 acting as ground returns. Pin 2 is I/O 16, pin 3 is I/O 17, pin 4 is I/O 18, pin 6 is I/O 19, pin 7 is I/O 20, pin 8 is I/O 21 and pin 9 is I/O 22. Pin 5 is an absent key pin. I/O 7 does not exist on this port and is reported as asserted to the software.

J4 is the input power connector. Pin 1 is power, pin 3 is ground. Pin 2 is an absent key pin.

Table of Contents

 

Installing and Using WIN95 Driver

This driver must be installed first. See README file on CIB Driver Disk for installation and control connection information. The controls can be selected in Controls Panel/Game Controllers as Amerisys/Happ Com X Joystick. After installing the driver, select this joystick and calibrate in Game Controllers as you would any joystick.

The WIN95 DirectX drivers are loaded when the operating system is started. It uses DirectInput structures to support analog joysticks, digital I/O and a trackball as a mouse. Multiple CIBs can be connected to multiple COM ports provided that each COM port has it’s own IRQ. Shared IRQs between COM1 and COM3 and between COM2 and COM4 are not supported.

This driver maintains consistency with the DirectInput APIs as described in the WIN32 SDK. Applications over the API can be written in any API compatible language such as Visual C++ and Visual Basic.

You can design your application to use DirectInput functions to determine the capabilities of the joystick and drivers. The joystick driver can be queried to reveal joystick position and pushbutton status. You can use a standard mouse API to interface to the trackball.

Table of Contents

 

Installing and Using Parameters Editor

This utility gives you the ability to set the parameters for the CIB-1000 that will be used when the computer is started. This includes setting the I/O direction, defining the polling, etc. It can be used to familiarize yourself with the CIB and the joystick.

This is a separate program from the Win95 driver and does not have to be installed, but Happ Controls recommends using it. It is a good debug tool, too.

This information is transferred directly to the registry files on the PC, and will not have any effect until the system is shut down and rebooted.

Before installing Parameters Editor the Windows 95 drivers for the CIB-1000 must be installed. See the readme file on the drivers disk for installation instructions.

To install the Parameter Editor insert disk 1 of 2, click on the start button, and select run. Type in A:\setup.exe then click on OK. Follow the on screen instructions.

To use the software click the start button and select Parameters Editor.

This program must be closed when running your application.

Table of Contents

 

Installing and Using Control Performance

This utility gives you the capability to verify correct operation of all aspects of your joystick/trackball with visual feedback as to what the CIB-1000 is reporting back to the PC. It can be used to familiarize yourself with the CIB and the joystick and makes an excellent debug tool. It is a separate program from the Win95 driver and does not have to be installed, but Happ Controls recommends using it.

Before installing Control Performance the Windows 95 drivers for the CIB-1000 must be installed. See the readme file on the drivers disk for installation instructions.

To install Control Performance insert disk 1 of 2, click on the start button, and select run. Type in A:\setup.exe then click on OK. Follow the on screen instructions.

To use the software click the start button and select Project1.

This program must be closed when running your application.

Table of Contents

 

Using Hyper Terminal when not using the CIB driver

Windows Hyper Terminal may be used to communicate directly with the CIB-1000 when not using the CIB Driver. To open a session in Hyper Terminal click the Start button. Then select Programs. Then Accessories, and finally click on Hyper Terminal.

This information applies to Windows® ’95 and above. The setup for Windows NT® is slightly different and is not shown here.

Due to different versions of Windows ’95 and different system setups the steps described here may not be the same on your system.

If you are unsure how to proceed please consult your Windows Documentation or see your system administrator.

Double click the HyperTerm.exe icon.

If Hyper Terminal is not available off the Start Button it may not be installed on your system. Please Consult your Windows Documentation or see your system administrator to add this option.

Enter a name you wish to assign to this connection.

For our example we are naming the connection HAPPCIB1

After the name for the shortcut has been typed in a second window will appear which will ask which COM PORT to use.

Select the COM PORT to which the CIB-1000 is connected.

Click OK

Another window will now appear which is used to set up the COM PORT.

Set it as follows:

Bits per second 57600
Data bits 8
Parity none
Stop bits 1
Flow control hardware

 

When finished click OK.

At this point double click the Icon you have just created.

A Window will appear with a flashing cursor and a number of menu selections across the top.

Select File then Properties. Next click the Settings tab on the properties dialog box.

Next click on the ASCII Setup button.
Make sure that the Echo typed characters locally box is checked.
All commands must be entered in UpperCase.
Table of Contents

 

Auto-identify

The Host can request the board to identify itself. This can be used to assist driver software and to monitor continued operation/connection status of the board (heart beat function). To request the auto-identification response, the host transmits to the CIB:

A

and the CIB responds with:

AmeriSys Inc. HAPPGC - ver.1.4 S/N xxxxxxxx

where xxxxxxxx is the unique electronic serial number (00000000-FFFFFFFF) of the CIB. This can be used by the application to insure that only the particular CIB registered for that application is used, foiling cloning or bootlegging of the application.

Table of Contents

 

Communication speed

Only updates when polled:

P0

To instruct the CIB to communicate at 16 updates/second:

P1

To instruct the CIB to communicate at 32 updates/second:

P2

Updates Continuously (greater than 225 updates/second) (default):

P3

The CIB will echo the command: (Recommended; if you confirm the echo this will help you make sure the CIB has received your command)

Note: The PC may get bogged down when updating continuously if it is not a P200 or better.

Table of Contents

 

Querying on inputs

The PC can request the Control Interface Board to retransmit it’s input status via the following command:

I

The Control Interface Board will respond to this command or any change on it’s inputs with:

I A3 A2 A1 A0 TX TY I22-16 I15-8 I7-0

where A3, A2, A1, A0, TX, TY, I22-16, I15-8, I7-0 are pairs of hexadecimal ASCII characters (0 to F) that represent byte values.

A0 represents analog input 0 value 00-FF
A1 represents analog input 1 value 00-FF
A2 represents analog input 2 value 00-FF
A3 represents analog input 3 value 00-FF
TX represents the trackball’s 16 bit X count 0000-FFFF
TY represents the trackball’s 16 bit Y count 0000-FFFF
I22-16 represents inputs 22 to 16 00-7F
I15-8 represents inputs 15 to 8 00-FF
I7-0 represents inputs 7-0 00-FF

Table of Contents

 

Setting analog response time

The response time of the analog inputs can be set by sending the following characters:

For 5 HZ D1
For 10 HZ D2
For 20 HZ D3
For 40 HZ (default) D4

CIB will echo command.

Slightly faster analog response can be realized by using a greater response frequency. A lower response frequency will filter out more analog noise from the analog source.

Table of Contents

 

Configuring transmission on input transition mask

The host can mask any input from creating a transition related transmission via the following command:

M M22-16, M15-8, M7-0

where M22-16, M15-8, M7-0 are hexadecimal ASCII character pairs ranging from "00" to "FF". Each hexadecimal character represents one nibble of I/O signal direction. Asserting a bit causes the CIB to transmit when a the input changes state (0 to 1 or 1 to 0). De-asserting a bit masks or disables this automatic transmission upon transition feature.

The current mask may be read back from the CIB by sending an "S" command. The CIB responds with an "S S22-16 S15-8 S7-0" response.

Table of Contents

 

Configuring the digital signal lines as Inputs or Outputs

The PC can configure the I/O direction of any digital signal via the following command:

X X15-8, X7-0

where X15-8, X7-0 are hexadecimal ASCII character pairs ranging from "00" to "FF". Each hexadecimal character represents one nibble of I/O signal direction. Asserting a bit configures the corresponding line as an input. De-asserting a bit configures the corresponding line as an output. As lines 22 to 16 are always inputs, any value placed on these direction bits are ignored.

Table of Contents

 

Query the I/O direction status of the CIB lines

The PC can query (read back) the direction of the digital I/O signals via the following command:

T

the Control Interface Board responds with

T T22-16 T15-8, T7-0

where T22-16, T15-8, T7-0 are pairs of hexadecimal ASCII characters ranging from "00" to "FF". Each hexadecimal character represents one nibble of I/O signal direction. An input is represented by an asserted bit, an output by a de-asserted bit.

T22-16 represents I/O's 22 to 16 00-7F
T15-8 represents I/O's 15 to B 00-FF
T7-0 represents I/O's 7-0 00-FF

Table of Contents

 

Setting output levels

The PC can also set the output levels of signals that are defined as output via the following command:

O O15-8 O7-0

The Control Interface Board will respond if the above command has changed any signals on it’s outputs via an input change response (see "I" command below). Asserting a bit sets the corresponding output high (> 3 volts) and de-asserting a bit resets the corresponding output (<0.7 volts). As signal lines 22-16 are always inputs, any values placed in these bits are ignored.

O22-16 represents outputs 22 to 16

00-7F

O15-8 represents outputs 15 to 8 00-FF
Of-0 represents outputs 7-0 00-FF

 

If an Input does not agree in level with an requested output level, this implies that an external signal is overwhelming the requested output signal. If such case occurs, the board will revert it’s output to the overwhelming input level. This is done to avoid damage to the Control Interface Board by a gross output overload. Each output is capable of sinking 20 ma and sourcing 10 ma. The total combined output current of all sinking outputs must not exceed 180 ma. Outputs/Inputs 15 to 0 are internally pulled up to +5Volts to allow for direct ground switch sensing.

Table of Contents

 

Restart Commands:

R

Forces a total restart of the CIB-1000

W Causes a Warm Reboot of the CIB-1000. The I/O status is maintained. Counters are not reset.

 

IMPORTANT!

When communicating with the CIB-1000 directly (not using the Win95 driver) your application must provide a delay of 200 microseconds after the stop bit and before the start bit. You must also provide a delay of 400 microseconds after every command. This will insure that the buffer on the PIC chip on the CIB-1000 will not overflow.

Table of Contents

 

Configuring For Using A Trackball With The CIB-1000

Configuring for use with a trackball can be done by selecting Trackball in Parameters Editor Utility. This will make the necessary registry changes after you reboot. The registry changes can also be done manually.

Table of Contents

 

Configuring the Registry Manually:

Using this information assumes that you have a working knowledge of the Windows ’95 Registry and can follow the instructions below.
WARNING! Making changes to the registry, other than indicated below, can cause your machine to stop responding and become un-bootable. If the registry becomes corrupted the only recourse may be to completely reinstall Windows ‘95. Before beginning It would be advisable to use the Registry Editor Utility to create a backup copy of the registry (EXPORT REGISTRY FILE) to a safe location (I.E. A 3˝ Floppy) just in case.
To set the Registry for using the trackball do the following.
Start Windows 95 Registry Editor. (Run Regedit.EXE)
Select:

 

HKEY_LOCAL _MACHINE
SYSTEM
CurrentControlSet
Control
MediaProperties
PrivateProperties
Joystick
OEM
AmerSys/Happ COM 1 Joystick
OEM1Config

 

Double Click on OEM1 Config on right side of the window.
The Byte which needs to be edited is 0030.
If it is set to 00 then change to 01. If all ready at 01 then leave it as is.
See next page for a graphic of what you should see.

 

Once the above steps have been completed it will be necessary to reboot Windows ’95 for the changes to take affect. The joystick must be read once before the trackball will work. When called, the trackball will be mapped as a mouse. Games will do the call; please insure that your app will, also. Happ Controls has a short "Mouse Primer" program that will do this at Boot-up. Please contact Happ for a free copy.

 

wpe4.jpg (18331 bytes)

Table of Contents

 

Note: Care must be exercised not to over-power the board with excessive voltage. Care must also be taken not to draw any significant power from J1, J2, J3, or J5. Power supply outputs on these connectors have been designed to supply the requirements of the Happ Controls Trackballs and Joysticks. Drawing of excess power will cause the voltage regulator on the board to shutdown either because of immediate excess power demand or via thermal shutdown (if it overheats). In either case, the operation of the board will be jeopardized.

The RS232 connector is wired as a standard 9 pin DCE device. It is designed to represent a peripheral device to a host.

Table of Contents

 

Happ Controls Control Interface, CIB-1000
96-0167-00

Table of Contents

 

Function Diagram

Table of Contents

 

Copyright ©2002 Happ Controls, Inc. All rights reserved.

For any technical problems with this web site
please contact the Webmaster