Smart-Frame is a trademark of Carroll Touch, Round Rock, Texas.
IBM and PC are trademarks of International Business Machines
Corporation.
All other brands and product names are trademarks of their respective
owners.
Disclaimer
Carroll Touch has a policy of continually improving products as new
technology becomes available. Carroll Touch reserves the right to make
changes and improvements to the specifications of this equipment at
any time without notice.
Carroll Touch has made every attempt to ensure that the information in
this document is accurate and complete. Carroll Touch assumes no
liability for any damages that result from the use of this manual or the
equipment it documents. Carroll Touch reserves the right to make
changes to this document at any time without notice.
s computers become a part of daily life, a technology that makes
A
them easier to use has become a necessity. Carroll Touch provides
the solution through the power of touch.
Thank you for your purchase of a Carroll Touch product and welcome
to Carroll Touch.
Purpose
Audience
Organization
This Programmer’s Guide is designed to:
•Give an overview of the touch technologies used by Carroll Touch,
with a particular emphasis on hardware and software information
(such as calibration and initialization) needed by programmers.
•Define the use and functions of the Smart-Frame Protocol, the
Smart-Frame Protocol II, the Touch Application Program Interface
(TAPI) driver, the CTKERN application interface, and the
Windows driver dynamic link libraries (DLLs).
This guide is designed for the programmer or software engineer who
integrates Carroll Touch touch systems with host computer systems.
Chapter 1, “Introduction to Infrared Touch Systems,” is an overview of
Carroll Touch infrared touch system hardware and operating principles.
Touch System Programmer’s Guidexi
WelcomeCARROLL TOUCH
Chapter 2, “Introduction to Guided Wave Touch Systems,” is an
overview of Carroll Touch guided wave touch system hardware and
operating principles.
Chapter 3, “General Programming Issues,” includes information on
programming topics that apply to all Carroll Touch touch systems, such
as calibration and HBC I/O registers.
Chapter 4, “Smart-Frame Protocol,” gives an overview of the SFP
firmware protocol, including a discussion of command and report
types, initialization, timing, and programming tips and examples.
Chapter 5, “Smart-Frame Protocol II,” gives an overview of the SFP-II
firmware protocol, which extends the capabilities of SFP by offering
support of z-axes and higher resolution. Explanations of command and
report formats are included.
Chapter 6, “Touch Application Program Interface (TAPI),” includes an
overview of the TAPI software functions, and TAPI driver installation
and initialization information.
Chapter 7, “CTKERN,” includes an overview of the CTKERN
software functions, CTKERN driver installation, and parameters. It
also discusses the operation of the CTKERN calibration program
(CALIB.EXE).
Chapter 8, “Dynamic Link Library (DLL) Functions,” describes how to
use the DLL function calls to the Carroll Touch Windows driver.
Appendix A, “Smart-Frame Protocol Command Reference,” gives the
specifications for each SFP command and report.
Appendix B, “Smart-Frame Protocol II Function Reference,” gives the
specifications for each SFP-II function.
Appendix C, “TAPI Function Reference,” gives the specifications for
each TAPI function.
Appendix D, “CTKERN Function Reference,” gives the specifications
for each CTKERN function.
Appendix E, “Dynamic Link Library (DLL) Function Reference,”
gives the specifications for each Windows driver DLL.
xiiTouch System Programmer’s Guide
CARROLL TOUCHWelcome
Conventions
For clarity, this guide uses certain conventions to visually distinguish
different types of information. The conventions are:
•Bold is used to emphasize a word or phrase, including definitions
of important concepts.
MALLCAPITALLETTERS (such as SPACE or ENTER) indicates a
•S
key on the keyboard.
•Courier font indicates file names, directory names, messages
displayed by the computer, parameters in command lines, and
information to be typed by the user.
•Italics indicate a command, function name, or mode (such as
Debug Mode).
•Reports (such as the Touch Coordinate Report) and menus (such as
the Configuration Menu) use initial capital letters.
•Courier italic font indicates a variable in a command line
for which you must substitute a value.
•Hexadecimal numbers in text are identified with capital H; for
example, 1BH is the hexadecimal value 1B. Command and report
formats and examples reproduce numbers as they appear on the
screen and thus do not use the H convention.
•Information of particular importance or actions that may have
undesirable results if performed improperly are included under the
headings
Note and Caution.
Touch System Programmer’s Guidexiii
WelcomeCARROLL TOUCH
xivTouch System Programmer’s Guide
1
Introduction to
Introduction to
Infrared Touch
Infrared Touch
Systems
Systems
his chapter gives an overview of Carroll Touch scanning infrared
T
touch systems, and covers the following topics:
•Overview.
•Touch Frames.
•Touch Controllers.
•Interpolating Touch Coordinates.
•Reporting Touch Coordinates.
•Failed Beams.
Touch System Programmer’s Guide1-1
Chapter 1 - Introduction to Infrared Touch SystemsCARROLL TOUCH
Overview
A Carroll Touch infrared touch system consists of a touch controller and
touch frame or a combined touch frame and controller. The touch
system uses scanning infrared (IR) beam technology to detect operator
input. Generating an invisible grid of IR light beams in front of the host
video display screen, the touch system reports touch input when the IR
light field is interrupted by a stylus (typically a finger). This input can
be used by a touch application just as similar applications use input from
pointing devices such as a mouse, light pen or trackball.
Touch Frames
The typical Carroll Touch touch frame is a thin, flat rectangle comprised
of four joined printed circuit boards (PCBs). Two adjacent PCBs contain
arrays of IR light emitting diodes (LEDs), while the other two PCBs
contain arrays of phototransistor/receivers. Each IR LED and the
phototransistor opposite it is called an opto-pair. The IR LED of each
opto-pair emits an IR light beam that is detected by the phototransistor.
The x-axis and y-axis arrays of opto-pairs are pulsed sequentially to
create a grid of IR beams, as shown in Figure 1-1.
Figure 1-1. Infrared Touch Frame
A beam, or a beam pair, consists of an IR LED and phototransistor
directly across from each other in the touch frame.
Touch Controller
The touch controller is the circuitry required to create and monitor the
IR grid. A sequence of electrical pulses is sent to the LEDs to create the
1-2Touch System Programmer’s Guide
CARROLL TOUCHChapter 1 - Introduction to Infrared Touch Systems
grid of IR beams in front of the video display surface. This grid of IR
beams is the touch active area.
When a stylus enters the touch active area, light beams are obstructed at
a particular location on the grid. The touch frame then transmits to the
controller a list that indicates which beams have been interrupted. The
controller converts this list into an x, y coordinate that identifies the
location of the touch. The x, y coordinate data is transmitted to the host
processor via the PC bus or the RS-232 serial port and is then processed
and used by the application program.
Interpolating Touch Coordinates
To achieve finer resolution than the physical IR beam grid provides,
Carroll Touch IR touch systems interpolate a virtual beam between each
pair of physical beams. The physical beams are assigned even numbers
(0, 2, 4, and so on). The virtual beams are assigned odd numbers (1, 3,
5, and so on). The combination of physical beams and virtual beams
results in a set of logical beams.
The coordinate system formed by the logical beams is called the logical coordinate system. The origin of the logical coordinate system (0, 0) is
located in the upper left corner of the display. When multiple beams are
interrupted, the touch system averages them and reports one x, y logical
coordinate pair to the host, a process known as beam averaging.
Examples of beam averaging are shown in Figures 1-2 and 1-3.
02 0408061000
00
02
04
06
08
4,4
Figure 1-2. Beam Averaging - Example 1
In Figure 1-2, beams 2, 4, and 6 are interrupted on both the x- and
y-axes. The logical coordinate pair reported to the host is 4, 4.
Touch System Programmer’s Guide1-3
Chapter 1 - Introduction to Infrared Touch SystemsCARROLL TOUCH
02 0408061000
00
02
04
06
08
5,5
Figure 1-3. Beam Averaging - Example 2
In Figure 1-3, beams 2, 4, 6, and 8 are interrupted on both the x- and
y-axes. The logical coordinate pair reported to the host is 5, 5.
Reporting Touch Coordinates
For a touch to be reported, at least one x beam and one y beam must be
interrupted. If no beams are interrupted in either the x- or y-axis, the
touch is ignored.
The lowest logical coordinate reported for any axis on any touch frame
is zero. The maximum logical coordinate that may be reported for a
given touch frame axis may be determined from the number of physical
beams on that touch frame axis as follows:
Failed Beams
Maximum logical coordinate = 2 x (number of physical beams - 1)
For example, on a frame that has 40 x-axis beams and 30 y-axis beams,
the maximum logical coordinates for the frame are:
Maximum logical x coordinate = 2 x (40 - 1) = 78
Maximum logical y coordinate = 2 x (30 - 1) = 58
Therefore, the reported coordinates would range from 0 to 78 on the
x-axis and from 0 - 58 on the y-axis.
Carroll Touch touch systems have incorporated into their firmware a
mechanism for detecting defective beam pairs and removing them from
consideration when determining the location of a stylus within the touch
frame. This failed beam mechanism provides a measure of fault
tolerance for the touch system so that, in the event of an opto-component
1-4Touch System Programmer’s Guide
CARROLL TOUCHChapter 1 - Introduction to Infrared Touch Systems
failure, the touch system simply suffers a localized loss of resolution in
one coordinate axis, rather than being completely inoperable.
Criteria for Failing a Beam
The touch system considers a beam to be interrupted if the IR light level
at the phototransistor is below a threshold level. A beam is considered
failed if it appears to be interrupted for a given period of time.
The touch system detects failed beams:
•During power up.
•When the touch system is reset using the SFP Reset (45H)
command or BREAK.
•When the touch system diagnostics are run using the SFP
Run_Diagnostics (3AH) command.
•While the touch system is scanning the beams during normal
operation.
In the first three cases, the time required to fail a beam is less than one
second. In the last case, the time required to fail a beam is determined
by the failed beam timing parameters.
The touch system maintains a table of beams that have been determined
to have failed.
Failed Beam Timing Parameters
The values for the various failed beam timing parameters are different
for ASIC-based touch systems and non-ASIC-based touch systems, as
shown in Table 1-1.
Table 1-1. Failed Beam Timing Parameters
Parameter
Valid Touch Fail Time59 - 62 sec.225 - 270 sec.
Non-Contiguous Touch Fail Time2.2 - 4.4 sec.10 - 20 sec.
ASICBased
Non-ASICBased
Single Axis Touch Fail Time2.2 - 4.4 sec.10 - 20 sec.
Unfail Time2.2 - 4.4 sec.10 - 20 sec.
A touch system is probably ASIC-based if it is a modular touch system,
or an invasively integrated Smart-Frame with a five switch
Communication Parameters jumper block on the frame. If you are
Touch System Programmer’s Guide1-5
Chapter 1 - Introduction to Infrared Touch SystemsCARROLL TOUCH
unsure whether your system is ASIC-based and if you need to know the
values of the failed beam timing parameters, use the touch system
diagnostics software (CTDIAG) to observe the amount of time required
to fail beams that are interrupted by a valid touch.
Table 1-1 gives a range of values rather than a specific value because the
touch system firmware checks for failed beams at a regular interval (2.2
seconds or 10 seconds). A beam that appears to be interrupted just after
the firmware checks takes longer to fail than a beam that appears to be
interrupted just before the firmware checks.
Note
Custom touch systems may have different values for the failed
beam timing parameters from those given in Table 1-1.
During normal operation, with the touch system scanning the beams, a
beam is considered failed if it is interrupted for the amount of time
specified by the Valid Touch Fail Time parameter and if the pattern of
interrupted beams appears to indicate a valid touch with a single stylus.
(A touch is considered valid if there appears to be one and only one
region of contiguous interrupted beams in each coordinate axis.) Thus,
a single stylus that remains stationary within the touch screen for the
Valid Touch Fail Time causes beams to be failed.
If beams are interrupted on only one axis of the touch frame, the
interrupted beams are failed in the amount of time specified by the
Single Axis Touch Fail Time parameter.
For any other pattern of interrupted beams, such as more than one region
of interrupted beams in an axis, the interrupted beams are failed in the
amount of time specified by the Non-Contiguous Touch Fail Time
parameter. Thus, multiple styli that remain stationary for longer than the
Non-Contiguous Touch Fail Time result in beams being failed, as do
non-contiguous touches.
For example, if you place a piece of tape over the opto-devices in one
axis of the touch screen, the beams obstructed by the tape are determined
by the touch system firmware to be failed and are added to the failed
beam table only after the amount of time specified by the Invalid Touch
Fail Time parameter has elapsed. If you then remove the tape, the time
specified in the Unfail Time parameter must elapse before the beams are
considered unfailed by the touch system firmware.
1-6Touch System Programmer’s Guide
CARROLL TOUCHChapter 1 - Introduction to Infrared Touch Systems
Criteria for Unfailing a Beam
If a failed beam appears not to be interrupted for the amount of time
specified by the Unfail Time parameter, it is unfailed and removed from
the failed beam table by the touch system firmware.
Failed Beam Reports
Two SFP commands can be used to generate reports related to the failed
beam status of the touch system: Get_Error_Report (32H) and
Get_Failed_Beam_Report (36H). See Appendix A, “Smart-Frame
Protocol Command Reference,” for details on these commands.
Touch System Programmer’s Guide1-7
Chapter 1 - Introduction to Infrared Touch SystemsCARROLL TOUCH
1-8Touch System Programmer’s Guide
2
T
Introduction to
Introduction to
Guided Wave
Guided Wave
Touch Systems
Touch Systems
his chapter gives an overview of Carroll Touch guided wave touch
systems and covers the following topics:
•Overview.
•Touch Screens.
•Touch Controllers.
•EEPROM File and Parameters.
Touch System Programmer’s Guide2-1
Chapter 2 - Introduction to Guided Wave Touch SystemsCARROLL TOUCH
Overview
A Carroll Touch guided wave touch system consists of a touch
controller and touch screen. The touch system uses guided acoustic
wave (GW) technology to detect operator input for a variety of
applications. Generating invisible acoustic waves, the touch system
reports touch input when the wave motion is attenuated by a stylus
(typically a finger). This input can be used by a touch application just as
similar applications use input from pointing devices such as a mouse,
light pen or trackball.
Touch Screens
Guided acoustic wave technology is based on transmitting acoustic
waves through a glass overlay placed over the display surface. A
transducer mounted on the edge of the glass emits an acoustic wave. The
wave travels along the reflector array, is redirected across the overlay to
the reflecting edge, and returns to the array where it is reflected back to
the transducer. The first reflector will send a signal back first, then the
second, and so on, as shown in Figure 2-1.
Figure 2-1. Guided Wave Touch Screen
Touch Controllers
The touch controller is the circuitry required to create and monitor the
acoustic waves. A sequence of electrical pulses is sent to the transducer
located in the upper left of the glass overlay to generate the acoustic
waves. The area covered by the acoustic waves is the touch active area.
2-2Touch System Programmer’s Guide
CARROLL TOUCHChapter 2 - Introduction to Guided Wave Touch Systems
When a stylus enters the touch active area, acoustic waves are attenuated
at that location on the overlay. The touch screen then transmits to the
controller information indicating the location of the attenuated waves.
The controller converts this information to an x, y coordinate that
identifies the location of the touch. The x, y coordinate data is
transmitted to the host processor via the controller and is then processed
and used by the application program.
EEPROM File and Parameters
Guided wave touch screens use an electrically erasable programmable
read-only memory (EEPROM) chip. An associated file stores the values
of the EEPROM parameters that control many features of the touch
screen. The following EEPROM values may be displayed, modified,
saved, and restored:
•Touch sensitivity.
•Touch active region.
•Transducer corner.
•Coordinate origin corner.
•Transducer orientation.
•Touch refresh time.
•No touch refresh time.
•Temporal filter space.
•Temporal filter time.
Touch System Programmer’s Guide2-3
Chapter 2 - Introduction to Guided Wave Touch SystemsCARROLL TOUCH
2-4Touch System Programmer’s Guide
3
General
General
Programming
Programming
Issues
Issues
his chapter includes information that may apply to any Carroll
T
Touch touch system. It discusses the following topics:
•Hardware Configurations.
•Calibration.
•HBC I/O Registers.
Touch System Programmer’s Guide3-1
Loading...
+ 244 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.