Touch System Programmer's Guide CARROLL TOUCH TOUCH PRODUCTS an AMP company
Touch System Programmer’s Guide CARROLL TOUCH TOUCH PRODUCTS an AMP company August 1996 Part #: 2970-0011-01-Rev A
Copyright Copyright ©1996 Carroll Touch. All rights reserved. Trademarks 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 Table of Contents Table of Contents Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 1.
Table of Contents CARROLL TOUCH 4. Smart-Frame Protocol . . . . . . . . . . . . . . . . . . . . . . 4-1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 SFP and SFP-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Types of SFP Commands . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Communication Commands . . . . . . . . . . . . . . . . . . . . 4-3 Reporting Method Commands. . . . . . . . . . . . . . . . . . . 4-3 Touch Mode Commands .
CARROLL TOUCH Table of Contents Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 Validation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Interpretation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Validation Layer . . . . . . . . . . . . . . . . . . . . .
Table of Contents CARROLL TOUCH Loading the CTKERN Driver . . . . . . . . . . . . . . . . . . . . . . 7-9 Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 Determining If the CTKERN Driver Is Installed . . . . . . 7-13 Calling CTKERN Functions . . . . . . . . . . . . . . . . . . . . . . 7-13 CALIB.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Command Line . . . . . . . .
CARROLL TOUCH Table of Contents Touch_Scanning_On (2AH) (*) . . . . . . . . . . . . . . . . A-38 Tracking_Mode (26H) (&) . . . . . . . . . . . . . . . . . . . . A-39 B. Smart-Frame Protocol II Function Reference . . B-1 GetConfiguration (11H) . . . . . . . . . . . . . . . . . . . . . . . B-3 GetCoordinateRanges (10H) . . . . . . . . . . . . . . . . . . . . B-8 GetProtocolVersion (65H). . . . . . . . . . . . . . . . . . . . . B-10 GetTouchState (01H). . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents CARROLL TOUCH SetScalingParameters (9). . . . . . . . . . . . . . . . . . . . . . D-29 SetTemporalFilterMode (14) . . . . . . . . . . . . . . . . . . . D-31 SetTemporalFilterParameters (15) . . . . . . . . . . . . . . D-34 SetTouchState (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . D-36 SetUserEventHandlerMode (23) . . . . . . . . . . . . . . . . D-37 SetUserEventHandlerParameters (24) . . . . . . . . . . . . D-39 SetZ-AxisScalingMode (11) . . . . . . . . . . . . . . . . . .
CARROLL TOUCH Table of Contents List of Figures Figure 1-1. Infrared Touch Frame . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Figure 1-2. Beam Averaging - Example 1 . . . . . . . . . . . . . . . . . . 1-3 Figure 1-3. Beam Averaging - Example 2 . . . . . . . . . . . . . . . . . . 1-4 Figure 2-1. Guided Wave Touch Screen . . . . . . . . . . . . . . . . . . . 2-2 Figure 3-1. Built-In Smart-Frame Controller Hardware . . . . . . . Figure 3-2. RS-232 Controller Hardware (Modular IR Touch Systems) . . . .
Table of Contents viii CARROLL TOUCH
CARROLL TOUCH Table of Contents List of Tables Table 1-1. Failed Beam Timing Parameters . . . . . . . . . . . . . . . . . 1-5 Table 3-1. HBC I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Table 3-2. Status Register Bit 0 Values . . . . . . . . . . . . . . . . . . . 3-10 Table 3-3. Status Register Bit 1 Values . . . . . . . . . . . . . . . . . . . 3-10 Table 4-1. SFP Communication Commands . . . . . . . . . . . . . . . . Table 4-2. SFP Reporting Method Commands . . . . . . . . . .
Table of Contents x CARROLL TOUCH
Welcome s computers become a part of daily life, a technology that makes them easier to use has become a necessity. Carroll Touch provides the solution through the power of touch. A Thank you for your purchase of a Carroll Touch product and welcome to Carroll Touch.
Welcome CARROLL 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.
CARROLL TOUCH Welcome 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. • SMALL CAPITAL LETTERS (such as SPACE or ENTER) indicates a 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.
Welcome xiv CARROLL TOUCH Touch System Programmer’s Guide
1 Introduction to Infrared Touch Systems T his chapter gives an overview of Carroll Touch scanning infrared touch systems, and covers the following topics: • Overview. • Touch Frames. • Touch Controllers. • Interpolating Touch Coordinates. • Reporting Touch Coordinates. • Failed Beams.
Chapter 1 - Introduction to Infrared Touch Systems CARROLL 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).
CARROLL TOUCH Chapter 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.
Chapter 1 - Introduction to Infrared Touch Systems 00 02 04 06 CARROLL TOUCH 08 10 00 02 04 5,5 06 08 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.
CARROLL TOUCH Chapter 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.
Chapter 1 - Introduction to Infrared Touch Systems CARROLL 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).
CARROLL TOUCH Chapter 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).
Chapter 1 - Introduction to Infrared Touch Systems 1-8 CARROLL TOUCH Touch System Programmer’s Guide
2 Introduction to Guided Wave Touch Systems T 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.
Chapter 2 - Introduction to Guided Wave Touch Systems CARROLL 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).
CARROLL TOUCH Chapter 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.
Chapter 2 - Introduction to Guided Wave Touch Systems 2-4 CARROLL TOUCH Touch System Programmer’s Guide
3 General Programming Issues T his chapter includes information that may apply to any Carroll Touch touch system. It discusses the following topics: • Hardware Configurations. • Calibration. • HBC I/O Registers.
Chapter 3 - General Programming Issues CARROLL TOUCH Hardware Configurations There are two major types of Carroll Touch controller configurations: built-in controllers (used in infrared Smart-Frames) and external controllers (used in modular infrared and guided wave touch systems). Built-In Controllers An infrared Smart-Frame touch system has controller electronics built onto the touch frame itself. The Smart-Frame touch system communicates directly with the host computer through the host serial port.
CARROLL TOUCH Chapter 3 - General Programming Issues based controller (SBC), hardware-based controller (HBC), and RS-232 controller. A guided wave touch system uses HBCs or RS-232 controllers. Figure 3-2 illustrates the RS-232 controller hardware. External Controller (Guided Wave or Modular IR Touch Frame) MDI/Sensor Cable RS-232 Controller RS-232 Cable Host PC Figure 3-2.
Chapter 3 - General Programming Issues CARROLL TOUCH Modular IR Touch Frame Modular IR Touch Frame MDI Cable SBC Controller Card SBC(TAPI) Driver Host PC SBC TAPI Driver Software Interrupt HBC Controller Card Host PC PC Bus I/O Ports Figure 3-3. SBC and HBC Hardware (Modular IR Touch Systems) Application Program Interface As shown in Figure 3-4, application programs may interface with Smart-Frame systems and systems using the HBC or RS-232 controller directly via the Smart-Frame Protocol.
CARROLL TOUCH Chapter 3 - General Programming Issues A P P L I C A T I O N P R O G R A M CTKERN CTKERN SMART-FRAME PROTOCOL (VIA TAPI) TAPI RS-232 DRIVER TAPI HBC DRIVER RS-232 CONTROLLER HBC CONTROLLER SMART-FRAME PROTOCOL (DIRECT) SMARTFRAME TAPI SBC DRIVER SBC CONTROLLER MDI FRAME Figure 3-4. Touch Control Software There are three TAPI drivers: the SBC driver, the HBC driver, and the RS-232 driver. The RS-232 driver works with Smart-Frames as well.
Chapter 3 - General Programming Issues CARROLL TOUCH Calibration The size of the display area of the video monitor frequently does not match the size of the touch active area of the touch frame. The touch active area is usually larger than the display area. The relationship of touch and video coordinates is shown in Figure 3-5. In addition, the display area on most video monitors may actually shift position or drift, while the touch active area remains constant.
CARROLL TOUCH Chapter 3 - General Programming Issues Once calibration is completed, the host software may use the calibration parameters to convert touch coordinates into video coordinates (pixel coordinates). These may then be used in the remainder of the host software. Some monitors do not maintain a constant video image size and placement for all of the video modes that they support.
Chapter 3 - General Programming Issues CARROLL TOUCH You may also want to limit VIDEO_X and VIDEO_Y to the ranges defined by VIDEO_MAX_X and VIDEO_MAX_Y. It is recommended that the touch coordinates be converted to video coordinates immediately upon their receipt from the touch system, and that video coordinates be used in the remainder of the application program.
CARROLL TOUCH Chapter 3 - General Programming Issues HBC I/O Registers Overview The HBC communicates with the PC through the PC bus via three consecutive I/O registers. The base address of these I/O registers is set by the I/O address jumpers on the HBC board, and may be set in increments of 16 to any I/O address between 200H and 3F0H inclusive. The three I/O registers are defined in Table 3-1. Table 3-1.
Chapter 3 - General Programming Issues CARROLL TOUCH receive a command or whether it is busy. Table 3-2 shows the values of Bit 0 of the Status Register. Table 3-2. Status Register Bit 0 Values Bit 0 Description 0 Touch controller ready to receive command. 1 Touch controller busy. If Bit 0 of the Status Register is 0, you may send a command to the touch controller by performing an I/O write to the Data Register (Base Address).
CARROLL TOUCH Chapter 3 - General Programming Issues Interrupt Mode When using interrupt mode, the touch controller uses a PC hardware interrupt to notify the application software that touch data is available in the Data Register (Base Address). When the display is touched with touch enabled, or an information request command is received by the touch system, the touch system sends touch data to the Data Register.
Chapter 3 - General Programming Issues 3-12 CARROLL TOUCH Touch System Programmer’s Guide
4 Smart-Frame Protocol his chapter gives an overview of the SFP firmware protocol, including a discussion of command and report types, initialization, timing, and programming tips and examples. T The chapter discusses the following topics: • Overview. • SFP and SFP-II. • Types of SFP Commands. • Reports. • Touch System Initialization. • Touch System Initialization Examples. • Using an SBC. • Compatibility Issues/Programming Tips. • SFP Timing. • SFP Programming Examples.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH Overview The Smart-Frame Protocol (SFP) regulates communication between the touch system and the application program. Smart-Frame Protocol commands are used to: • Initialize the touch system. • Establish host-to-touch communications. • Select the touch system reporting and operating modes. • Request special reports. • Manage report transfer. • Execute diagnostic functions.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol Communication Commands Communication between the touch system and the host computer can be regulated by hardware or software flow control. Communication commands are shown in Table 4-1. Table 4-1.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH Table 4-2. SFP Reporting Method Commands Command Name Hex Code ASCII Code Associated Report Scan_Reporting 22H “ Scan Report Coordinate_Reporting 23H # Touch Coordinate Report Add Exit Coordinate Point Report Non-Contiguous Coordinate Report Scan reports present interrupt beam data with no software interpretation and are used for diagnostic and testing purposes.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol Changing the touch mode clears the Add Exit Point modifier. To disable the Add Exit Point modifier without changing the current touch mode, simply send the desired touch mode command again. For example, to select Tracking Mode with Add Exit Point, send the Tracking_Mode (26H) command followed by the Add_Exit_Point_Modifier (29H) command. To deselect Add Exit Point and remain in Tracking Mode, send the Tracking_Mode (26H) command again.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH Table 4-5.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol Touch System Initialization To initialize a touch system that uses the Smart-Frame Protocol, take the following steps: 1. Reset the touch system. 2. Perform the autobaud/autoparity sequence, if appropriate, then the software reset command. 3. Check for any errors that may have been detected. 4. Set the desired reporting method and touch mode. Details on each step are in the following sections.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH HBC Hardware Reset Register For touch systems that use the modular HBC, writing any value to the HBC Hardware Reset Register (Base Address +2) resets the touch system. This type of reset is equivalent to cycling the power to the touch system. Break (Firmware Detected) For all touch systems that communicate serially, a break of at least 150ms resets the touch system.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol sequence to allow the touch system to establish baud rate and parity that is used by the host. To perform the autobaud/autoparity sequence, the host must send five ASCII carriage returns (CR - 0DH) followed by a delay of at least 100ms after each carriage return. The touch system uses these carriage returns to determine the baud rate used by the host.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH The contents of the Error Report vary according to whether the touch system has a single processor or dual processors. If the touch system did not detect any errors, the Error Report appears as follows: F8 00 FF Reports no errors for single processor systems. F8 00 00 FF Reports no errors for dual processor systems. If the touch system detects errors, the 00 byte is replaced by an error code count, followed by error codes.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol 3. Send five carriage returns (CRs - 0DH) with a 100ms delay after each CR. 4. Send the Software_Reset (3CH) and delay 100ms. 5. Send the Report_Transfer_On (44H) command, followed by the Get_Error_Report (32H) command. 6. Read the Error Report sent by the touch system. If the report is received correctly and indicates no errors, the touch system is ready to use. If the report is not received correctly, or contains errors, take the appropriate action. 7.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH 4. Send the Report_Transfer_On (44H) command, followed by the Get_Error_Report (32H) command. 5. Read the Error Report sent by the touch system. If the report is received correctly and indicates no errors, the touch system is ready to use. If the report is not received correctly, or contains errors, take the appropriate action.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol Number of Processors Independence Get_Error_Report (32H) causes an Error Report to be returned that details the errors for each processor in the touch system. Use the Get_Configuration_Report (33H) command to get a Configuration Report that includes the number of processors in the touch system to properly interpret this report. Do not hard wire the code that interprets the Error Report to work with a specific number of processors.
Chapter 4 - Smart-Frame Protocol CARROLL TOUCH Using a baud rate above 2400 baud does not produce any increase in apparent touch responsiveness. This is due to the fact that the communication bandwidth required to transmit the four-byte touch coordinate reports at the typical rate of 30 scans per second is slightly above 1200 baud.
CARROLL TOUCH Chapter 4 - Smart-Frame Protocol Protocol. Both a polling method and an interrupt-driven method are shown for each type of touch system. All of these programs were developed using Borland C. Minor modifications may be required for other compilers. The example files are: CT.H UART8250.H RS232POL.C RS232INT.C HBCPOL.C HBCINT.C Touch System Programmer’s Guide - Contains a CT header file. Contains a 8250 serial UART header file. Contains an RS-232 polling example.
Chapter 4 - Smart-Frame Protocol 4-16 CARROLL TOUCH Touch System Programmer’s Guide
5 Smart-Frame Protocol II T his chapter gives an overview of the Smart-Frame Protocol-II, a firmware protocol that extends the capabilities of the SFP by offering support for higher resolution and a z-axis. Explanations of command formats and report formats are included. This chapter discusses the following topics: • Overview. • Types of SFP-II Functions. • Functions. • Commands. • Reports. • Error Reporting. • Overloaded Functions. • Shared Parameters between SFP and SFP-II.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH Overview The Smart-Frame Protocol II (SFP-II) is a firmware protocol intended to be the successor to the existing Smart-Frame Protocol firmware protocol, which was defined in 1985.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II Protocol version numbers greater than 1.0 but less than 2.0 will be used during the development of the SFP-II protocol. When the SFP-II protocol is complete, that is, when it incorporates the initial set of desired features, that version of the protocol will be given a version number of 2.0.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH Modal Protocols The SFP-II is implemented as a modal protocol, meaning that, even if a touch system supports both the SFP and SFP-II, it can only support one protocol at a time and, during that time, cannot accept commands from the other protocol. To switch between protocols, use the SwitchToSFP-II (65H) SFP command and the SwitchToClassicSFP (64H) SFP-II function.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II Types of SFP-II Functions SFP-II functions are currently grouped into four logical categories. The logical categories are reserved in groups of 16 (10H), with each group containing functions that have similar purposes.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH respond after another timeout period, the host should send enough FFH bytes to ensure that the touch system’s input buffer overflows, and then retry the command again. Note that the host could certainly send the FFH bytes without retrying the command if it so chose. Refer to “Error Reporting,” later in this chapter, for more details on error handling.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II Validation Layer The format for SFP-II commands at the validation layer is: header packetbytecount interpretationlayer trailer The validation layer consists of the outer portions of the command format and “wraps” around the inner portions of the command format, or the interpretation layer.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH The bytes within the command packet are indexed beginning at 0 for the SFP-II command number, and ending at (command packet byte count - 1) for the last parameter byte. The length of the command packet is given by the packet byte count from the validation layer.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II parameters of the SFP-II command packet that solicited the report were valid. If the command number and parameters were all valid, this parameter is 0. If there was an error associated with one of the command parameters, this parameter contains a number that points to the first byte of the parameter that was in error. If there are multiple parameters with errors, only the first one is indicated. If the command number is invalid, this parameter is FFH.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH follows the header, read the number of bytes specified by the byte count (the report packet), and verify that the following byte is a trailer byte. If the segment of the incoming byte stream under consideration fits this format, the segment is deemed to be a valid SFP-II report packet and the command error status, report number, and parameters are forwarded to the interpretation layer.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II command number. The parameters 02 and 12 represent the ProtocolVersionHi and ProtocolVersionLo bits, indicating protocol version 2.12. Reporting Modes Each SFP-II report has a reporting mode associated with it that specifies when the report is to be sent. The available reporting modes are: Solicited Only Mode - The touch system sends the selected report after receiving the corresponding command.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH Error Reporting SFP-II uses a command error status parameter (Cmderr) to report errors in commands sent to the touch system. The one-byte parameter is part of every SFP-II report and indicates whether the SFP-II command number and/or command parameters were valid. Note The use of the Cmderr parameter to indicate unsupported features is especially useful during the period that the SFP-II specification is being developed.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II The touch system responds with the following report: E0 05 FF 94 01 02 03 FF The first FF byte is Cmderr and indicates that there is no command defined with an opcode value of 94H. Note that the parameters that were sent with the invalid command packet (01 02 03) are returned along with the invalid command number.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH 66 04 20 01 02 02 FF If the particular firmware implementation in the touch system does not support the MultiTouchState value of the TouchStateReportType parameter (the first 02H byte in the command), the touch system responds with the following report: E0 05 02 20 01 02 02 FF The 02 byte is Cmderr and indicates that the second parameter is in error. This parameter is the TouchStateReportType parameter.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II The touch system responds with the following report: E0 06 FE 20 01 86 04 03 FF FE is the Cmderr parameter and indicates that a byte count mismatch error occurred. 20 is the ReportNumber parameter, and the following four bytes echo the parameters that the touch system received. As a second example, suppose the touch system has an input buffer size of 32 bytes and the host sends the following, lengthy, incorrect command: 66 50 FA 01 02 03 ...
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH no report. At this point, there are 14 bytes in the input buffer, with 18 bytes remaining. If the host repeats the timeout and re-send cycle three more times, the input buffer overflows when the third command is sent, and the touch system responds with the following report: E0 06 FE 20 01 04 03 FF 66 04 20 01 04 03 FF 66 04 20 01 04 03 FF 66 04 20 01 04 03 FF 66 04 20 01 FF FE is the Cmderr parameter and indicates that a byte count mismatch error occurred.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II Not Enough Parameters If the number of command parameters is less than the number of command parameters expected for the command, an SFP-II report packet is sent with Cmderr pointing to the location of the first missing parameter (the trailer). Note that this case differs from the invalid byte count case.
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH Overloaded Functions Some SFP-II functions are overloaded in a manner similar to the way that C++ supports overloaded functions. An overloaded function is a function that is normally used to set the values of some parameters, but can also be used to get the values of the same parameters. • To set the parameter values, the host sends the complete command including all parameters.
CARROLL TOUCH Chapter 5 - Smart-Frame Protocol II This report indicates no errors in Cmderr and reports the values for the three parameters defined for the function after the parameter values were changed as a result of the host sending the command (three 01 values).
Chapter 5 - Smart-Frame Protocol II CARROLL TOUCH Report Transfer The method of transferring reports differs slightly between SFP and SFP-II. In SFP, turning Report Transfer off disables all reports, both solicited and unsolicited. In SFP-II, setting the ReportTransferMode parameter to disabled inhibits unsolicited reports but does not inhibit solicited reports.
6 Touch Application Program Interface (TAPI) his chapter includes an overview of the TAPI software functions, the specifications for each function, TAPI driver installation and initialization, and programming examples. T The chapter discusses the following topics: • Overview. • Installing a TAPI Driver. • Determining if a TAPI Driver Is Installed. • Calling TAPI Functions. • Touch System Initialization Using a TAPI Driver. • TAPI Programming Examples.
Chapter 6 - Touch Application Program Interface (TAPI) CARROLL TOUCH Overview The Touch Application Program Interface (TAPI) is a set of software functions that lets an application communicate with a Carroll Touch touch system using the Smart-Frame Protocol without interfacing directly to the hardware. Using the TAPI interface protocol yields the following benefits: • An application that interfaces to a TAPI driver is independent of the touch system hardware.
CARROLL TOUCH Chapter 6 - Touch Application Program Interface (TAPI) that recognizes the Smart-Frame Protocol and communicates either serially through a comm port or directly through the PC bus. Installing a TAPI Driver To install a TAPI driver, simply run the executable driver file with additional command line parameters, if appropriate, from the DOS command line. This loads the driver into memory as a TSR program.
Chapter 6 - Touch Application Program Interface (TAPI) CARROLL TOUCH HBC Driver If you have set the I/O address or the interrupt number parameters of the HBC to values other than the default parameters, you must provide the correct values for these parameters on the command line when installing the HBC driver. The HBC driver command line has the following syntax: HBC options The available options are: U = Uninstalls the driver. An = I/O address. n may range from 200H to 3F0H. The default is 300H.
CARROLL TOUCH Chapter 6 - Touch Application Program Interface (TAPI) U = Uninstalls the driver. Cn = Serial port. n may be 1 or 2. The default is 1. If the A and I parameters are used, the C parameter is ignored. Bn = Baud rate. n may be 3, 12, 24, 48, or 96. The default is 48. Pn = Parity. n may be E (even), O (odd) or N (none). The default is N. Sn = TAPI software interrupt. n may be any unused software interrupt. The default is 55H. An = I/O address override. n may range from 0H to FFFFH.
Chapter 6 - Touch Application Program Interface (TAPI) CARROLL TOUCH Error Messages Table 6-1 defines the error messages and meanings for the TAPI drivers. Table 6-1. TAPI Error Messages and Explanations 6-6 Message: Invalid command line parameter. Valid command line parameters are: Meaning: The command line syntax is invalid. The installation process is aborted. Message: A CT driver is already installed at software interrupt xxH.
CARROLL TOUCH Chapter 6 - Touch Application Program Interface (TAPI) Table 6-1. TAPI Error Messages and Explanations (Continued) Message: TAPI driver installation failed. Meaning: This error message accompanies other error messages and indicates that installation was aborted due to the stated condition. Message: Communication error - report expected but not received. Check that the touch system is properly connected.
Chapter 6 - Touch Application Program Interface (TAPI) CARROLL TOUCH call the TAPI driver software interrupt and read the registers as described in the “Returns” section for that function. The following example illustrates how to call TAPI functions: int SendSmartFrameCommand (char command, int TAPI_sw_int) { union REGS regs; regs.x.ax = 1; regs.h.bh = 0; regs.h.bl = 0x32; int86 (0x55, ®s, ®s); if (regs.x.
CARROLL TOUCH Chapter 6 - Touch Application Program Interface (TAPI) TAPI Programming Examples The CT Driver/Demo Disk contains three short example programs under the heading of “Programmer’s Guide Programming Examples.” They demonstrate how to interface to RS-232-based and HBC-based touch systems via a TAPI driver using the Smart-Frame Protocol. Both a polling method and an interrupt-driven method are shown for each type of touch system. All of these programs were developed using Borland C.
Chapter 6 - Touch Application Program Interface (TAPI) 6-10 CARROLL TOUCH Touch System Programmer’s Guide
7 CTKERN his chapter describes the features and capabilities of the CTKERN driver, as well as its installation procedures and parameters. It also discusses the operation of the CTKERN calibration program (CALIB.EXE). T This chapter discusses the following topics: • Overview. • Calibration. • Scaling. • Touch Reporting. • Calibration and Scaling Examples. • Temporal Filter. • Methods for Interfacing CTKERN and an Application Program. • Loading the CTKERN Driver.
Chapter 7 - CTKERN CARROLL TOUCH Overview The CTKERN driver communicates with the touch system using the TAPI driver appropriate for the touch system, and with the application program using the CTKERN functions, which are accessed via a software interrupt. CTKERN is a DOS driver that offers the following features: • Calibration support, including multiple calibrations to allow for monitors that do not maintain a constant image size when displaying multiple video modes.
CARROLL TOUCH Chapter 7 - CTKERN Application Software (CTKERN function calls) (CTKERN User Event Handler) CTKERN Driver (TAPI function calls) (TAPI User Event Handler) TAPI Driver (SBC, HBC, RS-232) (Serial Xmit or I/O Ports) (Hardware Interrupt) Touch Hardware (SBC, HBC, RS-232) Figure 7-1. Touch System to Application Communication are not calibrated. If fixed calibration is selected, the default calibration is always used, regardless of the BIOS video mode being used.
Chapter 7 - CTKERN CARROLL TOUCH Scaling CTKERN has the ability to scale the touch coordinates to a user-defined coordinate system. There are three options for scaling: disabled, fixed, and automatic. If scaling is disabled, the touch coordinates reported by CTKERN are not scaled.
CARROLL TOUCH Chapter 7 - CTKERN Touch Reporting The application program may get touch reporting information from CTKERN either by calling GetTouchState (1) that returns the current touch state, or by setting up a user event handler that is called whenever the touch state changes by using SetUserEventHandlerMode (23). Possible touch states are: NT Not touched, with scaled (if enabled), calibrated (if enabled) coordinates of the last place the screen was touched.
Chapter 7 - CTKERN CARROLL TOUCH active area is indicated by the striped area. The range of touch coordinates that are returned by a touch within the touch active area is indicated by the coordinate pairs at the upper left and lower right corners of either the touch active area defined during calibration (the inner rectangle) or the touch active area of the touch system (the outer rectangle).
CARROLL TOUCH Chapter 7 - CTKERN 0 0 4 5 74 79 (0,0) 55 (69,51) 59 Figure 7-3. Calibration Mode Fixed or Automatic and Scaling Mode Disabled (0,0) 0 0 5 74 79 4 55 59 (639,479) Figure 7-4.
Chapter 7 - CTKERN CARROLL TOUCH (0,0) 0 0 5 74 79 4 55 59 (79,59) Figure 7-5. Calibration Mode Disabled and Scaling Mode Disabled Temporal Filter When enabled, the temporal filter acts much like a low pass filter in the time domain for all touch state transitions. You must define two parameters, Spatial Filter Box Size and Temporal Filter Time. When the stylus touches the screen, the center of the spatial filter box is set to the coordinates where the screen was first touched.
CARROLL TOUCH Chapter 7 - CTKERN Methods for Interfacing CTKERN and an Application Program Application programs generally use either an interrupt mode or a polling mode to retrieve touch information. Polling Mode Using the polling mode, the application program periodically checks the touch state using GetTouchState (1). If the application does this at a comparatively rapid rate, touch state information is current.
Chapter 7 - CTKERN CARROLL TOUCH Dx = Pathname to calibration data file. x may be any valid pathname. The default is CALIB.DAT in the current DOS drive and directory. The command line is case-insensitive and the command line parameters may be arranged in any order.
CARROLL TOUCH Chapter 7 - CTKERN Table 7-1. CTKERN Error Messages (Continued) Message: Invalid command line parameter. Valid CTKERN command line parameters are: (followed by a list of valid command line parameters) Meaning: The CTKERN command line syntax is invalid. Message: No CALIB.DAT file found. Meaning: The calibration data file could not be found. Message: No TAPI driver loaded at software interrupt xxH. Meaning: CTKERN could not find a TAPI driver at S/W interrupt xxH.
Chapter 7 - CTKERN CARROLL TOUCH Table 7-1. CTKERN Error Messages (Continued) Message: The CALIB.DAT file contains multiple default calibrations. Meaning: CALIB.DAT contains more than one default calibration. Message: The CALIB.DAT file does not contain a default calibration. Meaning: The calibration data file contains no default calibration. Message: The CALIB.DAT file is invalid.
CARROLL TOUCH Chapter 7 - CTKERN Determining If the CTKERN Driver Is Installed An application program may determine if the CTKERN driver is installed by performing a string compare starting at the address pointed to by the CTKERN software interrupt vector + 2. For all CT drivers, the first nine characters will be CT DRIVER.
Chapter 7 - CTKERN CARROLL TOUCH Command Line The command line for CALIB.EXE has the following syntax: calib options The available options are: Kn = CTKERN software interrupt. n may be any unused software interrupt. The default is 56H. I = Load calibration parameters from an installed CTKERN driver. Dx = Pathname to calibration data file. x may be any valid pathname. The default is CALIB.DAT in the current DOS drive and directory. When CALIB.EXE exits, the calibration data is saved in this file.
CARROLL TOUCH Chapter 7 - CTKERN Operation You may create, edit, and delete calibration parameter sets for up to ten video modes. When CALIB.EXE is started, a message is displayed that indicates where the calibration data is being read from, followed by the Main Menu screen, shown in Figure 7-6. The Main Menu screen displays the parameters for each of the ten calibration table entries, along with the Main Menu options. See SetCalibrationTableEntry (6) in Appendix D for a definition of the flags.
Chapter 7 - CTKERN CARROLL TOUCH CTKERN Calibration V1.
CARROLL TOUCH Chapter 7 - CTKERN Calibrate Other Video Modes Press the O key to perform a calibration for a video mode for which CALIB.EXE cannot display calibration target screens. The first Other Video Mode screen appears, as shown in Figure 7-9, and prompts you to take several steps. To calibrate to a video mode that CALIB cannot display calibration target screens for, take the following steps: 1) Press ESC to exit this screen, then exit from this program.
Chapter 7 - CTKERN CARROLL TOUCH After completing these four steps, the third Other Video Mode screen appears as shown in Figure 7-11. Touch the tape that was previously applied to the upper left corner using inserting it straight into the only one finger, inserting it straight into the screen. Hold your finger in place until you are prompted to remove it. Press any key to abort calibration. Figure 7-11.
CARROLL TOUCH Chapter 7 - CTKERN CTKERN Calibration V1.0 Table BiosVideo ---------Flags-------- --Scaling-- --------Calib Params-------- Index Mode (hex) Default Graphics/Text Xres Yres Xoff Yoff Xspan Yspan 0 03 Yes Text 080 025 05 05 64 48 Main Menu -> <- = Select parameters to Edit Spacebar = Toggle Non-Numeric Parameters Enter = Save changes and Exit to Main Menu ESC= Discard changes and Exit to Main Menu Figure 7-12.
Chapter 7 - CTKERN CARROLL TOUCH CALIB.DAT The calibration data file (default CALIB.DAT) has the following format: Carroll Touch Calibration Data File
8 Dynamic Link Library (DLL) Functions T he Carroll Touch Windows driver is controlled through the use of dynamic link library (DLL) function calls. The DLLs are used by the Carroll Touch Control Panel, but may also be used by an application, which can then control the driver directly from within the application itself. This chapter presents the information you need to use the DLLs for the Windows 3.
Chapter 8 - Dynamic Link Library (DLL) Functions CARROLL TOUCH Calling Windows Driver DLL Functions All Windows driver functions are exported by ordinal value. To access these functions, you must: 1. Include a statement similar to the following in the IMPORTS section of your application’s definitions (.DEF) file: SetTouchEvents = MOUSE.8 2. Specify a function prototype similar to the following in your application: void FAR PASCAL SetTouchEvents (LPSTR); 3.
A Smart-Frame Protocol Command Reference T his appendix lists each SFP command in alphabetic and numeric order, respectively, and subsequently gives the details of each SFP command. • Add_Exit_Point_Modifier (29H). • Clear_Touch_Report_Buffer (3DH). • Continuous_Mode (27H). • Coordinate_Reporting (23H). • Echo_Off (21H). • Echo_On (20H). • Enter_Point_Mode (25H). • Exit_Point_Mode (28H). • Get_Configuration_Report (33H). • Get_Error_Report (32H). • Get_Failed_Beam_Report (36H).
Appendix A - Smart-Frame Protocol Command Reference A-2 • Run_Diagnostics (3AH). • Scan_Reporting (22H). • Software_Reset (3CH). • SwitchToSFP-II (65H). • Touch_Scanning_Off (2BH). • Touch_Scanning_On (2AH). • Tracking_Mode (26H).
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Table A-1. SFP Commands in Alphabetical Order Command Name Hex Code ASCII Code Associated Report (in Hex) Add_Exit_Point_Modifier 29H ) FD X Y FF Clear_Touch_Report_Buffer 3DH = _ Continuous_Mode 27H ’ FE X Y FF Coordinate_Reporting 23H # FE X Y FF Echo_Off 21H ! _ Echo_On 20H Space _ Enter_Point_Mode 25H % FE X Y FF Exit_Point_Mode 28H ( FE X Y FF Get_Configuration_Report 33H 3 F7 Nt T1...
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Table A-2. SFP Commands in Numerical Order Hex Code ASCII Code Command Name Associated Report (in Hex) 20H Space Echo_On _ 21H ! Echo_Off _ 22H ” Scan_Reporting FB Nx Xa...Xn Ny Ya...
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Add_Exit_Point_Modifier (29H) ()) Command Description When the Add Exit Point modifier is enabled by sending the Add_Exit_Point_Modifier (29H) command, the touch system sends an Add Exit Point Coordinate Report when the stylus exits the touch active area. This report is in addition to the Touch Coordinate Reports that are sent for the currently selected touch mode.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Clear_Touch_Report_Buffer (3DH) (=) Command Description The Clear_Touch_Report_Buffer (3DH) command clears any pending Touch Coordinate, Add Exit Point Coordinate, or Non-Contiguous Coordinate Report from the touch report buffer. This command is useful when the host does not need old touch data, such as when it is moving from one menu page to the next. The command does not stop a report in the process of being transmitted.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Continuous_Mode (27H) (’) Command Description When the touch mode is set to Continuous Mode by sending the Continuous_Mode (27H) command, the touch system sends Touch Coordinate Reports to the host as long as the stylus is in the touch active area. Touch Coordinate Reports are continuously sent whether the stylus is moving or stationary. Process control applications use Continuous Mode to control specific functions such as filling a tank.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Coordinate_Reporting (23H) (#) Command Description When the reporting method is set to coordinate reporting by sending the Coordinate_Reporting (23H) command, the touch system uses software interpolation to interpret the interrupted physical beam data and find the center of the stylus. The three types of coordinate reports are: • Touch Coordinate Report. • Add Exit Point Coordinate Report. • Non-Contiguous Coordinate Report.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference T = Identifying number. 1 = Non-contiguous x-stylus. 2 = Non-contiguous y-stylus. 3 = Non-contiguous x- and y-styli. FF = End of report. Caution Because non-contiguous touches can occur accidentally, do not use Non-Contiguous Coordinate Reports to indicate a specific selection or trigger a critical function. See Add_Exit_Point_Modifier (29H) in this appendix for details of the Add Exit Point Coordinate Report.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Echo_Off (21H) (!) Command Description The Echo_Off (21H) command turns off Echo Mode. The Echo_Off character is not sent back to the host. Echo_Off is the system default. Example The example below sends the Echo_On (20H) command, followed by a test sequence that checks every bit position, and ends with the Echo_Off (21H) command.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Echo_On (20H) (SPACE) Command Description The Echo_On (20H) command places the touch system in Echo Mode. In this mode, the touch system transmits back to the host all data bytes it receives except for the Echo_Off character. To check whether serial communications are operating correctly, send the Echo_On (20H) command, a test sequence, and the Echo_Off (21H) command.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Enter_Point_Mode (25H) (%) Command Description When the touch mode is set to Enter Point Mode by sending the Enter_Point_Mode (25H) command, the touch system sends a Touch Coordinate Report to the host when the stylus enters the touch active area. No additional Touch Coordinate Reports are transmitted until an empty scan (no stylus located within the touch active area) is detected, indicating that the stylus has left the touch active area.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Exit_Point_Mode (28H) (() Command Description When the touch mode is set to Exit Point Mode by sending the Exit_Point_Mode (28H) command, the touch system sends a Touch Coordinate Report to the host when the stylus leaves the touch active area. The stylus must have already entered the touch active area before the Exit Point touch can be detected. Exit Point Mode is used for menu selection.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Get_Configuration_Report (33H) (3) Command Description When the host sends the Get_Configuration_Report (33H) command, the touch system returns a Configuration Report that includes the number of processors that are included in the touch system. The Configuration Report is necessary to interpret the Error Report. Report Format The Configuration Report has the following format: F7 Na Aa, ..., An FF F7 = Start of Configuration Report.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Get_Error_Report (32H) (2) Command Description When the host sends the Get_Error_Report (32H) command, the touch system returns an Error Report, which identifies the current error conditions. Report Format For single-processor systems, the Error Report has the following format: F8 Na Aa, ..., An FF For dual-processor systems, the Error Report has the following format: F8 Na Aa, ..., An Nb Ba, ..., Bn FF F8 = Start of Error Report.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Caution Do not hard wire the code that interprets the Error Report to work with a specific number of processors. To do so results in code that may not be portable from one touch system to another. Table A-3 describes the error codes that appear in the Error Report. Table A-3. Smart-Frame Protocol Error Report Error Codes Error Code A-16 Description/Affected Touch System Component 01H ROM (Read Only Memory) checksum verification error.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Table A-3. Smart-Frame Protocol Error Report Error Codes (Con’t) Error Code Description/Affected Touch System Component 05H* Communication error. A communications error has been detected between the frame and controller (NOT between the controller and the host). 68705 Smart-Frame: Interprocessor comm error 8031 Pre-modular separate controller (UFP III): Comm error over the frame to controller interface.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Table A-3. Smart-Frame Protocol Error Report Error Codes (Con’t) Error Code Description/Affected Touch System Component 12H 18H Reserved. 19H External Read Only memory (ROM) checksum verification error. 68705 Smart-Frame: N/A (No external ROM) 8031 Pre-modular separate controller (UFP III): Frame (EEPROM) 8031 Smart-Frame (SDSF): Frame (EEPROM) Modular: Frame (EEPROM) 1AH & up Reserved.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Get_Failed_Beam_Report (36H) (6) Command Description When the host sends the Get_Failed_Beam_Report (36H) command, the touch system analyzes the beams that are listed in the failed beam table at the time the command is processed. It does not examine any beams other than those listed in the table and does not add beams to or remove beams from the table.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Sa, ..., Sn = Status of failed y-beams; has the same values (0-4) and definitions as status of failed x-beams. FF = End of report. Example An example of a Failed Beam Report is: FA 01 03 02 00 FF It indicates that there is one failed x-beam (beam number 3), that its LED failed, and that there are no failed y-beams.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Get_Firmware_Version_Report (34H) (4) Command Description When the host sends the Get_Firmware_Version_Report (34H) command, the touch system returns a list of the firmware version for various touch system components. Each firmware version is represented as a 10-byte ASCII-encoded string. Report Format The Firmware Version Report has the following format: F6 Nv Va Vb, ..., Vn FF F6 = Start of Firmware Version Report.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH standard products specified below, the configurations of the reported firmware versions are as follows: 68705 Smart-Frame: Firmware version #1 Firmware version #2 - Slave processor EPROM. Master processor EPROM. 8031 Pre-Modular (UFP III) Firmware version #1 Firmware version #2 - EPROM. EEROM if present, otherwise EPROM firmware version is repeated.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Get_Frame_Size_Report (37H) (7) Command Description When the host sends the Get_Frame_Size_Report (37H) command, the touch system returns a Frame Size Report that specifies the size of the touch frame, expressed as the number of logical coordinates on each axis. Report Format The Frame Size Report has the following format: F4 X Y FF F4 = Start of Frame Size Report. X = Number of x-axis logical coordinates.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Get_One_Report (46H) (F) Command Description The Get_One_Report (46H) command requests that a single report be sent to the host. Report transfer is turned on temporarily to transfer one report then turned off. Note When using the Get_One_Report (46H) command with hardware flow control off, wait until the full report sequence is received before sending the next command to the touch system.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Get_State_Report (47H) (G) Command Description When the host sends a Get_State_Report (47H) command, the touch system returns a State Report that indicates the current state of the touch system. The report lists the values of various internal flags, allowing the host to determine whether its commands were correctly received.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH = End of report. FF Note The SOM byte is not valid under scan reporting. Example An example of a State Report is: F2 06 01 03 02 01 02 01 FF The six state bytes indicate the reporting method is coordinate, the touch mode is continuous, touch scanning is on, (reserved bit), report transfer is on, and hardware flow control is off.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Hardware_Flow_Control_Off (42H) (B) Command Description When the host sends the Hardware_Flow_Control_Off (42H) command, the touch system stops using hardware handshaking to regulate serial communication with the host. Data Terminal Ready (DTR) is ignored by the touch system, and Smart-Frame Protocol reports are always transmitted.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Hardware_Flow_Control_On (41H) (A) Command Description When the host sends the Hardware_Flow_Control_On (41H) command, the touch system uses hardware handshaking to regulate serial communications with the host. Carroll Touch touch systems use one of two hardware flow control methods, depending on the type of touch system.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Report_Transfer_Off (43H) (C) Command Description The Report_Transfer_Off (43H) command stops the transmission of touch data to the host. If the transfer of a report is in process, it is completed. The touch system continues to scan until another report is generated and stored in the touch report buffer.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Report_Transfer_On (44H) (D) Command Description The Report_Transfer_On (44H) command allows the Smart-Frame to send reports to the host computer. Use this command when the host processor is fast enough to receive touch data at the rate at which it is sent. The system default setting for report transfer is off.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Reset (45H) (E) Command Description When the touch system receives the Reset (45H) command, the touch system reenters initialization mode. Use this command for resetting the touch system to initialization mode at the end of an application.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Run_Diagnostics (3AH) (:) Command Description When the host sends the Run_Diagnostics (3AH) command, the touch system executes all of the diagnostics tests that occur at power-up (such as the RAM test, ROM test, and so forth) and generates an Error Report. The touch system then resets the system defaults, just as if the power had been turned off and then on again.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Scan_Reporting (22H) (”) Command Description When the reporting method is set to scan reporting by sending the Scan_Reporting (22H) command, a list of the physical beams that are interrupted in each axis is reported to the host. Scan reporting is primarily used for testing and diagnostic purposes, or to obtain raw beam interruption data for custom touch recognition algorithms.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Software_Reset (3CH) (<) Command Description The Software_Reset (3CH) command clears all touch system internal buffers and resets the touch system parameters to the default conditions as shown in Table A-4. Table A-4.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference SwitchToSFP-II (65H) Command Description The SwitchToSFP-II (65H) command instructs a touch system that is using the Smart-Frame Protocol to switch to Smart-Frame Protocol II. If successful, the touch system returns the SFP-II Protocol Version Report and subsequently accepts only SFP-II commands. If the touch system does not support SFP-II or cannot switch to SFP-II, the touch system returns an error code.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH When the touch system successfully switches to SFP-II, it responds with an SFP-II Protocol Version Report similar to the following: E0 04 00 65 02 20 FF As a second example, assume the touch system is using SFP, report transfer is disabled and an SFP Error Report (that indicates no errors for a one processor touch system) is pending.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Touch_Scanning_Off (2BH) (+) Command Description The Touch_Scanning_Off (2BH) command causes the touch system to stop scanning the infrared beams. Use this command when the touch system is not currently being used as an input device. The touch system default is touch scanning off.
Appendix A - Smart-Frame Protocol Command Reference CARROLL TOUCH Touch_Scanning_On (2AH) (*) Command Description The Touch_Scanning_On (2AH) command causes the touch system to begin scanning the infrared beams. When Report Transfer is also on, the touch system sends interrupted beam data to the host in the formats defined by the currently selected reporting method.
CARROLL TOUCH Appendix A - Smart-Frame Protocol Command Reference Tracking_Mode (26H) (&) Command Description When the touch mode is set to Tracking Mode by sending the Tracking_Mode (26H) command, the touch system sends Touch Coordinate Reports to the host as long as the stylus is moving in the touch active area. The touch system tracks the stylus, sending Touch Coordinate Reports to indicate the current stylus position as it moves through the touch active area.
Appendix A - Smart-Frame Protocol Command Reference A-40 CARROLL TOUCH Touch System Programmer’s Guide
B Smart-Frame Protocol II Function Reference T his appendix lists each SFP-II function in alphabetic and numeric order, respectively, and subsequently gives the details of each SFP-II function. • GetConfiguration (11H). • GetCoordinateRanges (10H). • GetProtocolVersion (65H). • GetTouchState (01H). • SetReportProperties (21H). • SetReportTransferMode (22H). • SetTouchModes (20H). • SwitchToClassicSFP (64H).
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH Table B-1. SFP-II Functions in Alphabetical Order Function Name Hexadecimal Function # GetConfiguration 11H GetCoordinateRanges 10H GetProtocolVersion 65H GetTouchState 01H SetReportProperties 21H SetReportTransferMode 22H SetTouchModes 20H SwitchToClassicSFP 64H Table B-2.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference GetConfiguration (11H) Command Description The GetConfiguration (11H) command instructs the touch system to return the Get Configuration Report, which describes each component of the touch system. A component is a portion of the touch system hardware such as a sensor/frame or a controller. The information for each component is contained in its attributes. An attribute is a single piece of information that applies to that component.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH application or driver software should use the default value for that specific attribute, if a default is defined. Command Format 11 Report Description The Get Configuration Report details the configuration of the touch system. Report Format 11 ComponentCount ComponentType AttributeCount AttributeTag AttributeValue AttributeTag AttributeValue... ComponentType...FF ComponentCount = Number of components in the touch system.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference AttributeValue = Indicates the value of the attribute. Values for AttributeValue depend upon the value of the corresponding AttributeTag. Refer to Table B-3 for the possible values. Table B-3. ComponentTypes, AttributeTags and AttributeValues ComponentType AttributeTag AttributeValue 00 = Unknown. 01 = Sensor/Frame. 00 = Reserved. 01 = Touch Technology.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH Examples The host sends the following GetConfiguration (11H) command string: 66 01 11 FF If the touch system is a guided wave sensor with a guided wave serial DSP touch system, the returned report may be: E0 13 00 11 03 01 01 01 02 02 03 01 02 02 01 03 00 03 01 01 01 FF The above report indicates that the system has three components (03).
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference Either an infrared modular frame with RS-232 controller or an infrared Smart-Frame with a single 8051 processor would report: E0 13 00 11 03 01 01 01 01 02 03 01 01 02 01 03 00 03 01 01 02 FF An infrared Smart-Frame with dual 68705 processors may report: E0 17 00 11 04 01 01 01 01 02 03 01 01 02 01 03 00 03 01 01 03 03 01 01 03 FF The above report indicates that the system has four components (04).
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH GetCoordinateRanges (10H) Command Description The GetCoordinateRanges (10H) command instructs the touch system to report the minimum and maximum values for the x-, y-, and z-axes. Command Format 10 Report Description The Coordinate Ranges Report contains the minimum and maximum coordinate values that the touch system will report for each coordinate axis.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference The touch system responds with a Coordinate Ranges Report similar to the following: E0 0E 00 10 00 00 07 AA 00 00 0B AB 00 01 00 0F FF In this example, the x-axis coordinates range from 0 to 1962 (00H to 07AAH), the y-axis coordinates range from 0 to 2987 (00H to 0BABH), and the z-axis coordinates range from 1 to 15 (01H to 000FH).
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH GetProtocolVersion (65H) Command Description The GetProtocolVersion (65H) command instructs the touch system to return the version number of the interface protocol that the touch system firmware uses to communicate with the host.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference The touch system responds with a Protocol Version Report similar to the following: E0 04 00 65 02 13 FF In this example, the protocol version is 2.13.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH GetTouchState (01H) Command Description The GetTouchState (01H) command instructs the touch system to return the current touch state and coordinates. Command Format 01 Report Description The Touch State Report contains the touch state and x, y, and z coordinates that together describe the current state of the touch system. The touch state parameter is a single byte that reports whether the touch system is currently being touched.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference XCoordHi XCoordLo = 16-bit x coordinate. YCoordHi YCoordLo = 16-bit y coordinate. ZCoordHi ZCoordLo = 16-bit z coordinate. Example To determine the location of a touch, the host sends the GetTouchState (01H) command as follows: 66 01 01 FF The touch system responds with a Touch State Report similar to the following: E0 09 00 01 01 00 0C 07 D3 00 00 FF In this example, the screen is being touched at x=12 (000CH) and y=2003 (07D3H).
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH SetReportProperties (21H) Command Description The SetReportProperties (21H) command acts in conjunction with the SetReportTransferMode (22H) command to control under what conditions the touch system generates reports. Note This command is not implemented in the GW DSP Serial Controller firmware. The reporting mode for all SFP-II functions except GetTouchState (01H) is set to Solicited Only Mode and cannot be changed.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference • If the host sends the entire SetReportProperties (21H) command with all parameters, the report properties of that report are modified and the Report Properties Report are sent to report the current report properties of the selected report. • If the host sends the SetReportProperties (21H) command number with any other combination of parameters, an invalid parameter error is returned in Cmderr.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH Report Format 21 ReportNumber ReportingMode FunctionVersion ReportNumber = Specifies the report for which properties are being reported. ReportingMode = Returns the reporting mode parameter for the selected report. 00 = Solicited only. 01 = Parameter change. 02 = Continuous. FunctionVersion = Reports the protocol version number of the selected SFP-II function. 00 = Function is not defined. 01 or greater = Function is defined.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference The touch system responds with the following report: E0 02 01 21 FF This report indicates that fewer parameters byte were received than expected via Cmderr (the 01 byte).
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH This report indicates that the second parameter byte was erroneous via Cmderr (the 02 byte). This indicates that the reporting mode property could not be set to continuous (02) for this particular function.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference SetReportTransferMode (22H) Command Description The SetReportTransferMode (22H) command acts in conjunction with the SetReportProperties (21H) command to control under what conditions the touch system generates reports. Note This command is not implemented in the GW DSP Serial Controller firmware. The reporting mode for all SFP-II functions except GetTouchState (01H) is set to Solicited Only Mode and cannot be changed.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH The SetReportTransferMode (22H) command is an overloaded command. • If the host sends only the SetReportTransferMode (22H) command number, the ReportTransferMode SFP-II global parameter is not modified and the ReportTransferMode report is sent to report the current state of the ReportTransferMode SFP-II global parameter.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference to the Report Transfer SFP global parameter. As with all shared parameters, there is no SFP-II default for this parameter. The initial value of this parameter is equivalent to the value of the corresponding SFP parameter at the time that the touch system is switched to the SFP-II protocol. The SFP default for this parameter is report transfer disabled. Refer to Chapter 5 for more details concerning shared parameters.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH If the host subsequently sets the reporting mode of the function to Parameter Change Mode and the screen is touched, the touch system sends TouchState reports similar to the following to report the movements of the stylus within the active area of the touch screen: E0 09 00 01 01 00 0C 07 D3 00 00 FF E0 09 00 01 01 00 0D 07 D2 00 00 FF E0 09 00 01 00 00 0D 07 D2 00 00 FF If the host then sends the GetProtocolVersion (65H) command as fol
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference If the host then sends another command as follows: 66 01 65 FF The touch system again responds with a Protocol Version Report similar to the following: E0 04 00 65 01 15 FF Again, this report is sent even though the ReportTransferMode global parameter is set to disabled because it is a solicited report.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH SetTouchModes (20H) Command Description The SetTouchModes (20H) command sets the parameters that control how the touch system detects and reports touch information. Note The only legal value for the TouchStateReportType parameter at this time is Touch State Report. The Multi Touch State and Raw Touch State Reports have yet to be defined. The SetTouchModes (20H) command is an overloaded command.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference Command Format 20 or 20 TouchDetection TouchStateReportType TouchReportingMode TouchDetection = Specifies the value to which the TouchDetection SFP-II global parameter is to be set. The TouchDetection global parameter enables or disables the touch system hardware that detects touches. For example, disabling touch detection on an IR touch system would cause the touch system to stop scanning the IR beams to detect touches.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH 00 = Solicited only. The touch system only sends the touch state report in response to having received the corresponding command. 01 = Parameter change (default). The touch system sends the touch state report both in response to having received the corresponding command and whenever the touch state changes (including coordinate changes). 02 = Continuous.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference types of touch state reports. For example, the value of 03 for the Raw Touch State Report matches the function number of 03 for the GetRawTouchState function. TouchReportingMode = Reports the conditions under which TouchState reports are sent. Legal values for the touch reporting mode parameter are: 00 = Solicited only. The touch system only sends the touch state report in response to having received the corresponding command.
Appendix B - Smart-Frame Protocol II Function Reference CARROLL TOUCH The touch system responds with the following report: E0 03 02 20 00 FF This report indicates that the second parameter byte was erroneous via Cmderr (the 02 byte), and echoes back the parameters that the host sent. The fact that Cmderr is set to 02 reflects the fact that the touch system expected more parameters than were actually received.
CARROLL TOUCH Appendix B - Smart-Frame Protocol II Function Reference SwitchToClassicSFP (64H) Command Description The SwitchToClassicSFP (64H) command instructs the touch system to return to the classic Smart-Frame Protocol. (Within SFP-II, the original Smart-Frame Protocol is referred to as the “classic” SFP.) After the associated report is returned, the touch system accepts only SFP commands and does not accept SFP-II commands.
Appendix B - Smart-Frame Protocol II Function Reference B-30 CARROLL TOUCH Touch System Programmer’s Guide
C TAPI Function Reference his appendix lists each TAPI function in alphabetic and numeric order respectively and subsequently gives the details of each function. T • CheckForReports (3). • GetCommunicationParameters (4). • GetReports (2). • GetTAPIDriverConfiguration (6). • GetUserEventHandlerParameters (8). • Reset (0). • SendCommand (1). • SetCommunicationParameters (5). • SetSBCFrameSize (40H). • SetUserEventHandler (7).
Appendix C - TAPI Function Reference CARROLL TOUCH Table C-1. TAPI Functions in Alphabetical Order Function Name Function # (AX = ) CheckForReports 3 GetCommunicationParameters 4 GetReports 2 GetTAPIDriverConfiguration 6 GetUserEventHandlerParameters 8 Reset 0 SendCommand 1 SetCommunicationParameters 5 SetSBCFrameSize 40H SetUserEventHandler 7 Table C-2.
CARROLL TOUCH Appendix C - TAPI Function Reference CheckForReports (3) Description If any reports are available from the touch system, the number of bytes available for transfer to the report buffer is returned in CX. This function is similar to GetReports (2), but does not transfer any reports. Call with AX = 3 (function number). Returns AX = 3 (function number). CX = Number of bytes available for transfer to the report buffer. 0 = No reports available - no bytes transferred.
Appendix C - TAPI Function Reference CARROLL TOUCH GetCommunicationParameters (4) Description This function returns the communication parameters that the driver uses to communicate with the touch system. The application program should read the BH register to determine how to interpret the remaining registers. Touch applications that use these TAPI functions must use the register that defines the driver type in order to interpret the driver-specific parameters.
CARROLL TOUCH Appendix C - TAPI Function Reference CL Touch System Programmer’s Guide = Baud rate. 0 = 300. 1 = 600. 2 = 1200. 3 = 2400. 4 = 4800. 5 = 9600.
Appendix C - TAPI Function Reference CARROLL TOUCH GetReports (2) Description If any reports are available from the touch system, this function transfers them to the report buffer. The length (in bytes) of the reports transferred to the report buffer is returned in CX. Call with AX = 2 (function number). BX = Segment of report buffer. CX = Size of report buffer (in bytes). DX = Offset of report buffer. Returns AX = 2 (function number). CX = Number of bytes transferred to the report buffer.
CARROLL TOUCH Appendix C - TAPI Function Reference GetTAPIDriverConfiguration (6) Description This function returns the configuration information for the TAPI driver. Call with AX = 6 (function number). Returns AX = 6 (function number). BX = TAPI driver version number. CX = Protocol version number. 01 00 = Indicates SFP. all other = Indicates the specific version number of SFP-II. If the driver version is represented as X.
Appendix C - TAPI Function Reference CARROLL TOUCH GetUserEventHandlerParameters (8) Description This function returns the parameters associated with the user event handler. Call with = 8 (function number). AX Returns AX = 8 (function number). BH = Event mask. Bit 0= If 1, handler is called on all coordinate reports. Bit 1= If 1, handler is called on all non-coordinate reports.
CARROLL TOUCH Appendix C - TAPI Function Reference Reset (0) Description This function resets the driver and/or touch system, using the hardware reset feature that is appropriate for the touch controller used. The driver is reset by performing the following steps: 1. Reinstalling the hardware interrupt vector. 2. Clearing the report buffer. 3. Clearing the user event handler event mask and enable bits. A driver reset does NOT affect any communication parameters or the address of the user event handler.
Appendix C - TAPI Function Reference CARROLL TOUCH SendCommand (1) Description This function sends the specified Smart-Frame Protocol command to the touch system. Call with AX = 1 (function number). BH = 0. BL = Smart-Frame Protocol command. Returns AX = 1 (function number). CX = Command status. 0 = Command accepted. 1 = Command could not be transmitted to the touch system because a time out occurred. The TAPI driver has a time out value of approximately 150 ms.
CARROLL TOUCH Appendix C - TAPI Function Reference SetCommunicationParameters (5) Description This function is used to set the communication parameters that the driver uses to communicate with the touch system. The application program should set register BH to the appropriate driver type for the driver loaded. Touch applications that use these TAPI functions must use the register that defines the driver type in order to interpret the driver-specific parameters.
Appendix C - TAPI Function Reference CARROLL TOUCH Returns AX = 5 (function number). CX = Status. 00H = Communication parameters accepted. 01H = Invalid driver type. 02H = Invalid interrupt number. 04H = Invalid I/O address. 08H = Invalid parity. 10H = Invalid baud rate. Note Multiple invalid parameter status codes may be returned in the CX register. For example, if both the baud rate and parity parameters were invalid, 18H would be returned in register CX.
CARROLL TOUCH Appendix C - TAPI Function Reference SetSBCFrameSize (40H) Description This function sets the frame size parameters for the SBC driver. Setting these parameters is equivalent to passing the parameters on the command line when loading the SBC driver. This function is supported by the SBC driver only. Call with AX = 40H (function number). BX = Number of physical beams on the x-axis. CX = Number of physical beams on the y-axis. Returns AX = 40H (function number).
Appendix C - TAPI Function Reference CARROLL TOUCH SetUserEventHandler (7) Description This function lets you install a user event handler (UEH) subroutine that is called whenever a report is available from the driver. This lets a user application receive reports from the TAPI driver using an interrupt method rather than a polling method. The UEH subroutine should end with a normal return instruction, not a return from interrupt instruction.
CARROLL TOUCH Appendix C - TAPI Function Reference The Touch Coordinate Report (report header = FEH), Add Exit Point Coordinate Report (report header = FDH), Non-Contiguous Coordinate Report (report header = FCH), and Scan Report (report header = FBH) are all classified as coordinate reports, and are enabled by setting bit 0 of the event mask. All other reports are classified as non-coordinate reports, and are enabled by setting bit 1 of the event mask.
Appendix C - TAPI Function Reference CARROLL TOUCH clear the report buffer using Reset (function 0) immediately before enabling the UEH. The usual method for using the UEH is for the user program to clear the report buffer (using Reset (0)), install the handler (using SetUserEventHandler (7)), read one report per event in the user event handler, and exit the UEH with an AX = nonzero, causing the report buffer to be cleared.
D CTKERN Function Reference T his appendix lists each CTKERN function in alphabetic and numeric order and subsequently gives the details of each function. • GetCalibrationTableEntry (7). • GetCommunicationParameters (22). • GetCTKERNDriverConfiguration (20). • GetCurrentCalibrationModeAndParameters (5). • GetCurrentScalingModeAndParameters (10). • GetTemporalFilterModeAndParameters (16). • GetTAPIDriverConfiguration (19). • GetTouchState (1). • GetTouchSystemStatus/Configuration (17).
Appendix D - CTKERN Function Reference D-2 CARROLL TOUCH • SetTouchState (2). • SetUserEventHandlerMode (23). • SetUserEventHandlerParameters (24). • SetZ-AxisScalingMode (11). • SetZ-AxisScalingParameters (12).
CARROLL TOUCH Appendix D - CTKERN Function Reference Table D-1.
Appendix D - CTKERN Function Reference CARROLL TOUCH Table D-2.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetCalibrationTableEntry (7)Description This function gets the calibration parameters for one entry in the internal calibration table. There are two retrieval methods, using either a calibration table index, or a search for a BIOS video mode. If a BIOS video mode is searched for, and no entry is found in the table that corresponds to the BIOS video mode, the default calibration entry is returned.
Appendix D - CTKERN Function Reference CARROLL TOUCH WORD Yspan The bits of the WORD Flags are set as follows: Bit 0 = Video mode text/graphics flag. 0 = Graphics video mode. 1 = Text video mode. Bits 1-14 = Reserved and must be 0. Bit 15 = Default calibration flag. 0 = This entry is not the default calibration. 1 = This entry is the default calibration. Notes The internal calibration table consists of ten sets of calibration parameters.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetCommunicationParameters (22) Description This function returns the communication parameters that the driver uses to communicate with the touch system. The application program should read the BH (driver type) register to determine how to interpret the remaining registers. Call with = 22 (function number). AL Returns BH = Driver type. 0 = SBC driver. 1 = HBC driver. 2 = RS-232 driver.
Appendix D - CTKERN Function Reference CARROLL TOUCH GetCTKERNDriverConfiguration (20) Description This function returns configuration information for the CTKERN driver. Call with = 20 (function number). AL Returns = CTKERN driver version number. BX If the CTKERN driver version is represented as X.YZ, then the version number in register BX is in the following format: BH: 0 X BL: 76543210 Y Z 76543210 Notes Table D-3 gives examples of how version numbers are represented in BX. Table D-3.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetCurrentCalibrationModeAndParameters (5) Description This function gets the current calibration mode and the current calibration parameters. The calibration mode determines how the touch coordinates reported by CTKERN are calibrated. If the calibration mode is set to disabled, the contents of the calibration data structure returned are undefined. Call with AL = 5 (function number).
Appendix D - CTKERN Function Reference CARROLL TOUCH GetCurrentScalingModeAndParameters (10) Description This function gets the current scaling mode and the current scaling parameters. The scaling mode determines how the touch coordinates reported by CTKERN are scaled. If the scaling mode is set to disabled, the contents of the scaling data structure are undefined. Call with AL = 10 (function number). CX = Segment of four-word buffer to hold the scaling data structure.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetTAPIDriverConfiguration (19) Description This function returns configuration information for the TAPI driver. Call with = 19 (function number). AL Returns = TAPI driver version number. BX If the driver version is represented as X.YZ, then the version number in register BX is in the following format: BH: 0 X BL: 76543210 Y Z 76543210 Notes Table D-4 gives examples of how version numbers are represented in BX. Table D-4.
Appendix D - CTKERN Function Reference CARROLL TOUCH GetTemporalFilterModeAndParameters (16) Description This function gets the temporal filter parameters. Call with AL = 16 (function number). BL = Parameter reporting mode. 00 = Original parameters. 01 = Absolute parameters. Returns BL = Temporal filter mode. 00 = Temporal filter disabled. 01 = Temporal filter enabled.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetTouchState (1) Description This function returns the instantaneous touch state of the touch system. Call with AL = 1 (function number). Returns BH = Z-axis touch pressure. BL = Touch state. 0 = Not touched (x, y set to last place screen was touched). 1 = Touched (x, y set to where the screen is touched). 2 = Non-contiguous (x, y undefined). CX = X coordinate. DX = Y coordinate.
Appendix D - CTKERN Function Reference CARROLL TOUCH parameter reported in BH is determined by linearly scanning the raw z-axis parameter reported by the touch system within the range defined by the minimum and maximum z-axis pressure values. If the touch system hardware does not support the z-axis, BH is set to 0 if z-axis scaling is disabled. If z-axis scaling is enabled, BH is set to the minimum pressure value.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetTouchSystemStatus/Configuration (17) Description This function returns the status and configuration information for the touch system. Call with AL = 17 (function number). CX = Segment of 64-byte buffer to hold the touch system status/configuration data structure. DX = Offset of 64-byte buffer to hold the touch system status/configuration data structure. Returns = Touch system error status. 00 = The touch system reported no errors.
Appendix D - CTKERN Function Reference CARROLL TOUCH GetUserEventHandlerModeAndParameters (25) Description This function returns the parameters associated with the user event handler. Call with AL = 25 (function number). Returns D-16 BL = User event handler mode. 00 = User event handler disabled. 01 = User event handler enabled. CX = Segment address of user event handler. DX = Offset address of user event handler.
CARROLL TOUCH Appendix D - CTKERN Function Reference GetZ-AxisScalingModeAndParameters (13) Description This function gets the z-axis scaling parameters. Call with = 13 (function number). AL Returns BL = Z-axis scaling mode. 00 = Z-axis scaling disabled. 01 = Z-axis scaling enabled. CL = Minimum z-axis pressure value. DL = Maximum z-axis pressure value.
Appendix D - CTKERN Function Reference CARROLL TOUCH Reset (0) Description This function resets the CTKERN driver and/or touch system. The CTKERN driver is reset by reinitializing the driver queues, status bits, interrupt masks, and so forth. The TAPI driver and/or touch system is reset by calling the TAPI Reset (0) function with the select driver/touch system reset value from BL in BL. Call with AL = 0 (function number). BH = 0. BL = Select driver / touch system reset.
CARROLL TOUCH Appendix D - CTKERN Function Reference 2. Call TAPI with BL = 2 (Reset touch system only). 3. Send init string via TAPI to set the touch system to the tracking with add exit touch mode and enable scanning.
Appendix D - CTKERN Function Reference CARROLL TOUCH SendSmart-FrameProtocolCommandAnd GetReport (18) Description This function sends one Smart-Frame Protocol command to the touch system; the Smart-Frame Protocol report that the touch system sends back is returned in the report buffer. The length (in bytes) of the report transferred to the report buffer is also returned. Call with AL = 18 (function number). BH = Smart-Frame Protocol command byte.
CARROLL TOUCH Appendix D - CTKERN Function Reference The buffer size value passed in CX is the maximum number of bytes that the CTKERN driver writes to the report buffer. If the number of report bytes is greater than this value, the excess bytes are discarded. If the touch system does not respond to the command with a report within a set time, the function returns with 00 in CX, indicating that a timeout occurred and no report bytes were transferred. The report buffer should be at least 64 bytes long.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetCalibrationMode (3) Description This function sets the calibration mode, which determines how the touch coordinates reported by CTKERN are calibrated. Call with AL = 3 (function number). BL = Calibration mode. 00 = Calibration disabled. 01 = Fixed calibration. This is the default. 02 = Automatic calibration.
CARROLL TOUCH Appendix D - CTKERN Function Reference SetCalibrationParameters (4) Description This function sets the calibration parameters that CTKERN uses to calibrate the raw touch coordinates, overriding the parameters that are in effect at the time that this function is called. Call with AL = 4 (function number). CX = Segment of four-word buffer that holds the calibration data structure. DX = Offset of four-word buffer that holds the calibration data structure.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetCalibrationTableEntry (6) Description This function sets the calibration parameters for one entry in the internal calibration table. Call with AL = 6 (function number). BL = Calibration table index. CX = Segment of eight-word buffer that holds the calibration data structure. DX = Offset of eight-word buffer that holds the calibration data structure. Returns AL = Calibration status. 00 = Calibration table entry set successfully.
CARROLL TOUCH Appendix D - CTKERN Function Reference Bit 15 = Default calibration flag. 0 = This entry is not the default calibration. 1 = This entry is the default calibration. Notes The internal calibration table consists of ten sets of calibration parameters. The valid range for the calibration table index parameter is 0 through 9. If this function is called with a calibration table index outside this range, the calibration status is set to 01, and the function call has no effect.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetCommunicationParameters (21) Description This function sets the communication parameters that the driver uses with the touch system. The application program should set register BH (driver type) to the appropriate value for the driver loaded. Call with AL = 21 (function number). BH = Driver type. 0 = SBC driver. 1 = HBC driver. 2 = RS-232 driver. If BH = 0 (SBC) or 1 (HBC), the additional calls are: BL = Interrupt number.
CARROLL TOUCH Appendix D - CTKERN Function Reference Note Multiple invalid parameter status codes may be returned in the CX (Status) register. For example, if both the baud rate and parity parameters were invalid, 18H would be returned in register CX. This is equivalent to the “Invalid Baud Rate” and “Invalid Parity” status codes or’ed together. The application should interpret these codes on a bitwise basis.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetScalingMode (8) Description This function sets the scaling mode, which determines how the touch coordinates reported by CTKERN are scaled. Call with AL = 8 (function number). BL = Scaling mode. 00 = Scaling disabled. 01 = Fixed scaling. This is the default. 02 = Automatic scaling. Notes If scaling is disabled (00), the calibrated touch coordinates are not scaled before being passed on to the application program.
CARROLL TOUCH Appendix D - CTKERN Function Reference SetScalingParameters (9) Description This function sets the scaling parameters that CTKERN uses to scale the calibrated touch coordinates, overriding the parameters that are in effect at the time that this function is called. Call with AL = 9 (function number). CX = Segment of four-word buffer that holds the scaling data structure. DX = Offset of four-word buffer that holds the scaling data structure.
Appendix D - CTKERN Function Reference CARROLL TOUCH If the scaling parameters are set to: Upper left x Upper left y Lower right x Lower right y = = = = 0 479 639 0 The screen reports 0, 479 when the upper left corner is touched, 639, 0 when the lower right corner is touched, and 0, 0 when the lower left corner is touched. This places the origin in the lower left corner. By swapping either or both axes, the origin may be placed in any corner.
CARROLL TOUCH Appendix D - CTKERN Function Reference SetTemporalFilterMode (14) Description This function sets the temporal filter mode. Call with AL = 14 (function number). BL = Temporal filter mode. 00 = Temporal filter disabled. 01 = Temporal filter enabled. Notes When enabled, the temporal filter acts much like a low pass filter in the time domain for all touch state transitions. You must specify a Spatial Filter Box Size and a Temporal Filter Time.
Appendix D - CTKERN Function Reference CARROLL TOUCH The absolute pixel value is derived by taking a percentage of either the scaled or raw touch coordinate range, depending on whether scaling is enabled. Figure D-1 pictures an example of a spatial filter box set to 25%. Note that this is a much larger value than is usually used - this value is usually less than 10%. box size + Figure D-1.
CARROLL TOUCH Appendix D - CTKERN Function Reference Normally, the time value is set to a value large enough so that entry and exit coordinate transients resulting from the stylus not entering/leaving straight into/out of the screen are eliminated, but small enough so that the delay time is not noticeable. The typical range of values to achieve this is 100ms through 500ms.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetTemporalFilterParameters (15) Description This function sets the temporal filter parameters. Call with AL = 15 (function number). CL = Spatial filter box size. DX = Temporal filter time. Returns AL = Temporal filter status. 00 = Temporal filter parameters valid. 01 = Spatial filter box size out of range. 02 = Temporal filter time out of range. Notes The Spatial Filter Box Size is specified as a percentage of the full screen size.
CARROLL TOUCH Appendix D - CTKERN Function Reference absolute time = Trunc (specified filter time / 55) * 55 For example, if you specify a time of 50, the time value used is actually set to 0. If you specified a value of 100, the time value is 55. If you specified a value of 500, the time value is 495. The filter time resolution is 55 ms, which means that the actual amount of time that is required to trigger a touch may vary from the actual filter time by +/- 55 ms.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetTouchState (2) Description This function sets the touch state that CTKERN reports. It is useful for debugging, or any other situation where it is necessary to force the touch state to be a particular value without a touch actually occurring. Call with AL = 2 (function number). BH = Touch pressure (z-axis). BL = Touch state. 00 = Not touched (x, y set to last place the screen was touched). 01 = Touched (x, y set to where the screen is touched).
CARROLL TOUCH Appendix D - CTKERN Function Reference SetUserEventHandlerMode (23) Description This function sets the user event handler (UEH) mode, which lets you install an event handler subroutine that is called whenever the touch state changes. It also allows a user application to receive reports from the CTKERN driver using an interrupt mode rather than a polling mode. The UEH subroutine should end with a normal return instruction, not a return from interrupt instruction.
Appendix D - CTKERN Function Reference CARROLL TOUCH Notes The UEH is most often used to get the touch state and to update an internal touch state variable in the user program. Use of reentrant function calls such as BIOS calls in the UEH is acceptable, as is the use of CTKERN function calls. However, use of non reentrant function calls such as DOS calls is not. Hardware interrupts are disabled while the UEH is executing.
CARROLL TOUCH Appendix D - CTKERN Function Reference SetUserEventHandlerParameters (24) Description This function sets the user event handler parameters. Call with AL = 24 (function number). CX = Segment address of user event handler. DX = Offset address of user event handler.
Appendix D - CTKERN Function Reference CARROLL TOUCH SetZ-AxisScalingMode (11) Description This function sets the z-axis scaling mode. Call with AL = 11 (function number). BL = Z-axis scaling mode. 00 = Z-axis scaling disabled. 01 = Z-axis scaling enabled. Notes If z-axis scaling is disabled, the raw z-axis parameter reported by the touch system is reported by CTKERN.
CARROLL TOUCH Appendix D - CTKERN Function Reference SetZ-AxisScalingParameters (12) Description This function sets the z-axis scaling parameters. Call with AL = 12 (function number). CL = Minimum z-axis pressure value. DL = Maximum z-axis pressure value. Notes The origin of the z-axis parameter may be changed from the minimum z-axis pressure value to the maximum z-axis pressure value by specifying a larger value for the maximum z-axis pressure value than for the minimum z-axis pressure value.
Appendix D - CTKERN Function Reference D-42 CARROLL TOUCH Touch System Programmer’s Guide
E Dynamic Link Library (DLL) Function Reference he Windows 3.x driver exports the functions listed at the beginning of this appendix. Subsequent sections give specific details on each function, its data structure, and function call. T • DisableMouse (11). • DisableTouch (12). • EnableMouse (9). • EnableTouch (10). • GetMouseInfo (13). • GetTemporalFilterInfo (18). • GetTouchInfo (14). • GetTouchStateandCoord (5). • InitializeTouch (16). • SetCalibInfo (7).
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH Table E-1. Windows Driver DLL Functions in Alphabetical Order Function Name Ordinal Export Value DisableMouse 11 DisableTouch 12 EnableMouse 9 EnableTouch 10 GetMouseInfo 13 GetTemporalFilterInfo 18 GetTouchInfo 14 GetTouchStateandCoord 5 InitializeTouch 16 SetCalibInfo 7 SetTemporalFilterInfo 17 SetTouchEvents 8 Table E-2.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference DisableMouse (11) Description This function disables the mouse. IMPORTS Statement in the Definition File DisableMouse=MOUSE.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH DisableTouch (12) Description This function disables the touch system. IMPORTS Statement in the Definition File DisableTouch=MOUSE.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference EnableMouse (9) Description This function enables the mouse for user input. IMPORTS Statement in the Definition File EnableMouse=MOUSE.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH EnableTouch (10) Description This function enables the touch system for user input. IMPORTS Statement in the Definition File EnableTouch=MOUSE.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference GetMouseInfo (13) Description This function gets the type of mouse being used by the driver, plus a mouse flag byte. IMPORTS Statement in the Definition File GetMouseInfo=MOUSE.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH GetTemporalFilterInfo (18) Description To be determined. IMPORTS Statement in the Definition File To be determined. Functions Prototype To be determined. Data Structure and Parameter Variable To be determined. Function Call To be determined.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference GetTouchInfo (14) Description This function gets the type of touch system being used by the driver, plus a touch flag byte. IMPORTS Statement in the Definition File GetTouchInfo=MOUSE.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH GetTouchStateandCoord (5) Description This function gets the touch state and the raw touch coordinates from the touch system. The touch state indicates whether the screen is touched at the time that the call is made. The X and Y coordinates that are returned are the raw touch coordinates from the touch system. The intended purpose for this function is to provide raw touch data to a calibration program.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference InitializeTouch (16) Description This function re-initializes the touch system. The touch system type and communication parameters that were in effect when Windows was started are used. IMPORTS Statement in the Definition File InitializeTouch=MOUSE.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH SetCalibInfo (7) Description This function sets the calibration parameters that the driver uses to convert raw touch coordinates to touch coordinates that correspond to the 65535 x 65535 Windows virtual display screen. To calculate the correct calibration parameter values, you must first get the raw touch coordinates that correspond to the upper left and lower right corners of the video image.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference Function Call void FAR CalculateCalibInfo() { static unsigned int video_max_xy = 65535; static static static static float float float float Xmag_float; Ymag_float; Xoff_float; Yoff_float; Xmag_float = video_max_xy / (touch_lr_x - touch_ul_x); calibinfo.Xmag = Xmag_float; Ymag_float = video_max_xy / (touch_lr_y - touch_ul_y); calibinfo.Ymag = Ymag_float; Xoff_float = Xmag_float * touch_ul_x); calibinfo.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH SetTemporalFilterInfo (17) Description To be determined. IMPORTS Statement in the Definition File SetTemporalFilter=MOUSE.
CARROLL TOUCH Appendix E - Dynamic Link Library (DLL) Function Reference Function Call temporalfilter_params.TFTime= TFTI_142ms; temporalfilter_params.
Appendix E - Dynamic Link Library (DLL) Function Reference CARROLL TOUCH SetTouchEvents (8) Description This function sets the mouse/touch event mapping parameters. The mouse events and the associated codes are specified in Table E-3. Table E-3. Definition of Touch Events Event Definition Touch Event A finger enters the touch screen. Untouch Event The finger leaves the touch screen. Non-Contiguous Event More than one finger is present in the touch screen at the same time.
CARROLL TOUCH Glossary Glossary Add Exit Point Modifier A modifier that can be added to any of the four touch reporting types (Continuous Mode, Enter Point Mode, Exit Point Mode, Tracking Mode) under the SFP and that reports the coordinates at which the stylus exits the screen. axis (x-axis, y-axis, z-axis) A dimension that makes up the touch coordinate system. The x-axis is the horizontal axis and the y-axis is the vertical axis.
Glossary CARROLL TOUCH controller The interface between the touch system and the computer. The controller may be software-based or hardware-based, or may use the computer’s serial (RS-232) port. See hardware-based controller, serial (RS-232) controller, and software-based controller. coordinate origin corner The 0, 0 origin of the video coordinate system. This is usually in the upper left corner of the display.
CARROLL TOUCH Glossary hardware interrupt A dedicated hardware line between the touch system and the computer, defining where to search for an SBC or HBC. HBC See hardware-based controller (HBC). HBC driver A software program that interfaces with the hardware-based controller via a selectable I/O address and optional hardware interrupt and with the application via the touch application program interface (TAPI). host (host system) The computer system to which a touch system is added.
Glossary CARROLL TOUCH parity A parameter used for error-checking to ensure that the data that was transmitted by the serial peripheral is identical to that received by the computer, and vice versa. This is a communication parameter used by the RS-232 controller. physical beam A member of a set of beams that includes only the beams that actually exist as an LED/phototransistor pair. See beam. physical coordinates A coordinate system consisting of an x- and y-axis, each made up of physical beams.
CARROLL TOUCH Glossary software-based controller (SBC) A touch-system-independent, digital controller that has no microprocessor, but, instead, shares processor time with the host microprocessor. The SBC is a half-card installed in the computer, drawing its power through the PC bus and communicating through the bus using an I/O address and hardware interrupt.
Glossary CARROLL TOUCH Touch Reporting Mode A method that determines the form used to send data from the touch system to the host. In scan reporting, the touch system reports a list of physical beams that are interrupted in each axis. In coordinate reporting, the touch system reports x, y coordinate values that identify the touch location. touch reporting type A touch mode that determines when touch coordinates are reported.
CARROLL TOUCH Index Index Symbols .DEF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 A Add Exit Point Coordinate Report . . . . . . . . . . . . 4-4, A-5, A-6, A-8 Add Exit Point Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Add_Exit_Point_Modifier (29H) SFP command . . . . . . . . . 4-4, A-5 attenuated waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2, 2-3 attribute . . . . . . . . . . . . . . .
Index CARROLL TOUCH Mono, EGA, VGA video modes . . . . . . . . . . . . . . . . . . . . . 7-16 other video modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6, 3-7 procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 target screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 Calibration Menu . . . . . . . . . . . . . . . .
CARROLL TOUCH Index functions, list in alphabetical order . . . . . . . . . . . . . . . . . . . . . D-3 functions, list in numerical order . . . . . . . . . . . . . . . . . . . . . . D-4 GetCalibrationTableEntry (7) . . . . . . . . . . . . . . . . . . . . . . . . . D-5 GetCommunicationParameters (22) . . . . . . . . . . . . . . . . . . . . D-7 GetCTKERNDriverConfiguration (20) . . . . . . . . . . . . . . . . . D-8 GetCurrentCalibrationModeAndParameters (5) . . . . . . . . . . .
Index CARROLL TOUCH D Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9, 3-10, 3-11 data transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28 default settings (SFP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9, A-34 deleting a calibration table entry . . . . . . . . . . . . . . . . . . . . . . . . 7-18 design rules for applications or drivers using SFP . . . . . . . . . . . 4-12 disabled calibration . . . . . . . . . . . .
CARROLL TOUCH Index error codes SFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16 error messages CTKERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 SFP-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 TAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Error Report . . . . . . . . . .
Index CARROLL TOUCH GetCurrentCalibrationModeAndParameters (5) CTKERN function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9 GetCurrentScalingModeAndParameters (10) CTKERN function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-10 GetMouseInfo (13) DLL function . . . . . . . . . . . . . . . . . . . . . . . . E-7 GetProtocolVersion (65H) SFP-II function . . . . . . . . . . . . 5-5, B-10 GetReports (2) TAPI function . . . . . . .
CARROLL TOUCH Index infrared touch system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 initialization autobaud/autoparity example . . . . . . . . . . . . . . . . . . . . . . . . 4-10 cycling the power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 fixed baud rate example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-31 procedures . . . . . . . . .
Index CARROLL TOUCH Non-Contiguous Touch Fail Time . . . . . . . . . . . . . . . . . . . . . . . . 1-6 not enough command parameters . . . . . . . . . . . . . . . . . . . . . . . . 5-17 Null Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24 O opto-pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 overloaded command . . . . . . . . . . . . . . . . . . . . . . . B-14, B-20, B-24 overloaded function . . . . . . . . .
CARROLL TOUCH Index Report_Transfer_On (44H) SFP command 4-3, 4-9, 5-20, 6-8, A-30 Reporting Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 reporting method commands (SFP) . . . . . . . . . . . . . . . . . . . . . . . 4-3 ReportTransferMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20 Reset (0) CTKERN function . . . . . . . . . . . . . . . . . . . . . . . . . . . D-18 Reset (0) SFP command . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index CARROLL TOUCH SetCalibrationTableEntry (6) CTKERN function . . 7-3, 7-15, D-24 SetCommunicationParameters (21) CTKERN function . . . . . . . D-26 SetCommunicationParameters (5) TAPI function . . . . . . . . . . . C-11 SetReportProperties (21H) SFP-II function 5-2, 5-3, 5-5, 5-11, B-14 SetReportTransferMode (22H) SFP-II function . . . . .5-5, 5-11, B-19 SetSBCFrameSize (40H) TAPI function . . . . . . . . . . . . . . . . . . C-13 SetScalingMode (8) CTKERN function . . . . . . . . . . . . . . . . . . .
CARROLL TOUCH Index error reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 fixed baud rate example . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 HBC example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 performing autobaud/autoparity sequence . . . . . . . . . . . . 4-8 resetting touch systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 setting reporting method and touch mode . . . . . . . . . . .
Index CARROLL TOUCH not enough parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 too many parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 unsupported feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 functions, list in alphabetical order . . . . . . . . . . .
CARROLL TOUCH Index Spatial Filter Box Size . . . . . . . . . . . . . . . . . . . . . . . 7-8, D-31, D-34 State Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5, A-25 Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9, 3-10 status reporting commands (SFP-II) . . . . . . . . . . . . . . . . . . . . . . . 5-5 Switch To Classic SFP Report . . . . . . . . . . . . . . . . . . . . . . . . . . B-29 SwitchToClassicSFP (64H) SFP-II function .
Index CARROLL TOUCH touch coordinate scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 touch coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6, 3-7 Touch Detection (SFP-II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 touch event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-16 touch frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2, 3-2, 3-6 touch mode . . . .
CONTACTING CARROLL TOUCH: Carroll Touch 2800 Oakmont Drive Round Rock, Texas 78664 http://www.carrolltouch.