Psion Teklogix Mobile Devices SDK Developers Guide August 5, 2009 ISO 9001 Certified Quality Management System Part No. 8100016.
© Copyright 2009 by Psion Teklogix Inc., Mississauga, Ontario 2100 Meadowvale Boulevard, Mississauga, Ontario, Canada L5N 7J9 http:\\www.psionteklogix.com This document and the information it contains is the property of Psion Teklogix Inc., is issued in strict confidence, and is not to be reproduced or copied, in whole or in part, except for the sole purpose of promoting the sale of Psion Teklogix manufactured goods and services.
Return-To-Factory Warranty Psion Teklogix Inc. provides a return to factory warranty on this product for a period of twelve (12) months in accordance with the Statement of Limited Warranty and Limitation of Liability provided at www.psionteklogix.com/warranty. (If you are not already a member of Teknet and you attempt to view this warranty, you will be asked to register. As a member of Teknet, you will have access to helpful information about your Psion Teklogix products at no charge to you.
Restriction On Hazardous Substances (RoHS) Directive 2002/95/EC What is RoHS? The European Union has mandated that high environmental standards be met in the design and manufacture of electronic and electrical products sold in Europe, to reduce hazardous substances from entering the environment. The “Restriction on Hazardous Substances Directive (RoHS)” prescribes the maximum trace levels of lead, cadmium, mercury, hexavalent chromium, and flame retardants PBB and PBDE that may be contained in a product.
TABLE OF CONTENTS Chapter 1: Introduction 1.1 1.2 About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Text Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1.2.1 Command Syntax . . . . . . . . . . . . . . . . . . . . . .
Contents Chapter 6: Power Management 6.1 Battery Power Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.1.1 Suspend Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.1.2 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Chapter 11: Permanent Storage 11.1 Permanent Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.2 Locking Permanent Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.3 Permanent Storage API Elements . . . . . . . . . . . . . . . . . . . . . .
Contents 14.3.3 Configuring Bar Code Symbologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 14.3.3.1 Bar Code Field Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 14.3.3.2 Code 39 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 15.7 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 15.8 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 15.9 Serial Port API Elements . . . . . . . . . . . . . . . . . . . . .
Contents 20.7.2 Single-Click Events And Double-Click Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 20.8 Trigger Control API Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Chapter 21: Wireless Local-Area Networking 21.1 Wireless Local-Area Networking (WLAN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 22.6.4 22.6.5 22.6.6 22.6.7 22.6.8 Checking Packet Data Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Roaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Connecting Manually to A WWAN Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 INTRODUCTION 1.1 About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Text Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Command Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Development Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Windows Versions . . . . . . . . . . . . . . .
Chapter 1: Introduction About This Manual 1.1 About This Manual This manual provides guidance on creating applications for Psion Teklogix devices running Microsoft Windows® CE or Windows Mobile operating systems, using the Mobile Devices SDK. The information in this manual is current with version 3.1 of the SDK software. Chapter 1: Introduction provides an overview of this manual, the other documentation available with the SDK, and text conventions used.
Chapter 1: Introduction Text Conventions Chapter 17: System Information describes how to control the Windows security and how to obtain hardware and software information. Chapter 18: Total Recall describes how to control the Total Recall utility programmatically. Chapter 19: Windows Shell describes how to set security levels and control access to the Windows shell. Chapter 20: Trigger Control describes how to control the trigger sources on a Psion Teklogix computer.
Chapter 1: Introduction Command Syntax 1.2.1 Command Syntax When commands are described in text the following conventions are used in the manual: • Elements that must be typed exactly as shown in the text are in bold. • Elements that are placeholders are in italic. The general form of a command is as follows: sample {+r | -r} argument ... [option] Where: 1.3 Element Meaning sample Indicates the name of the command or utility. {} Surrounds a set of choices from which you must choose one.
Chapter 1: Introduction Resetting Psion Teklogix Computers Table 1.1 shows the availability of the different operating systems on the various Psion Teklogix computer devices. Table 1.1 Availability Of Windows Operating Systems 1.5 Windows Embedded CE 5.0 Windows Mobile 5.
Chapter 1: Introduction Reset Methods Windows Mobile Operating Systems On a Psion Teklogix computer running Windows Mobile, a warm reset completely reloads and restarts the operating system. Registry settings, installed programs, and any data files that reside in flash memory are all preserved through the reset. Files and data stored in the RAM Drive partition are not preserved during a warm reset.
Chapter 1: Introduction Reset Methods Table 1.3 lists how to execute all the different reset types manually on Psion Teklogix computers using the keypad. Table 1.3 Methods for Resetting Psion Teklogix Computers Suspend 753x 8515 8525 / 8530 Ikôn (Windows CE) Ikôn (Windows Mobile) N EO 8 Warm Reset Press [BLUE], then press [ENTER]. Cold Reset Press [FN/BLUE], Press and hold then press [ENTER]. [FN/BLUE] and [ENTER] for six seconds.
Chapter 1: Introduction Non-Psion Teklogix Computers Table 1.3 Methods for Resetting Psion Teklogix Computers Suspend Warm Reset WORKABOUT PRO (Windows CE) Press [FN/BLUE], Press and hold then press [ENTER]. [FN/BLUE] and [ENTER] for six seconds. WORKABOUT PRO (Windows Mobile) Press [FN/BLUE], Press and hold then press [ENTER]. [FN/BLUE] and [ENTER] for six seconds. 1.6 Cold Reset Clean Start Press and hold Scan, [FN/BLUE] and [ENTER] for six seconds. At BooSt menu, press [1].
2 THE C++ LIBRARY 2.1 Namespace List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Development Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Getting Started in C++ . . . . . . . . . . . . . . . . 2.3.1 Selecting the Platform SDKs . . . . . . . . 2.3.2 Including the Psion Teklogix Header Files. 2.3.3 Adding the Psion TeklogixLibraries . . . . 2.3.4 Deploying the Psion Teklogix DLL . . . . 2.
Chapter 2: The C++ Library Namespace List 2.1 Namespace List The Psion Teklogix Mobile Devices SDK for C++ contains the following namespaces within the PsionTeklogix namespace: Namespace Description Backlight Configures and queries the backlight. DisplayInformation Returns information on the display hardware. Indicators Controls the LEDs. Keyboard Gives access to the keyboard, including keyboard remapping. Keyboard::NoChording Deprecated — use KeyRemapper class in Keyboard namespace instead.
Chapter 2: The C++ Library Development Platforms 2.2 Namespace Description Trigger Controls the pistol grip trigger and the [SCAN] button, and enables keyboard keys to be used as triggers. Utility Contains structures and typedefs that are used in several other namespaces. WLAN Enables wireless local-area networking. WWAN Enables wireless wide-area networking.
Chapter 2: The C++ Library Adding the Psion TeklogixLibraries 2.3.3 Adding the Psion TeklogixLibraries 1. Open the Project menu and select [Project Name] Properties.... 2. Select Configuration Properties > Linker > Input from the tree structure on the left. 3. Click in the field next to Additional Dependencies and add the following path: C:\Program Files\Psion Teklogix1\Mobile Devices SDK V3.1\2\3\PtxSdkCpp.
Chapter 2: The C++ Library Online Help 2.5 Online Help Online help files for the C++ APIs can be accessed from within the Visual Studios environment. To access these help files, they must be registered with the Visual Studio program. 1. From the directory where you installed the Mobile Devices SDK, go to the documentation subdirectory. Extract the files contained in Mobile Devices SDK CPP.zip to a separate directory on the computer. 2.
3 THE JAVA LIBRARY 3.1 Packages List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Development Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3 Getting Started in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 3: The Java Library Packages List 3.1 Packages List The Psion Teklogix Mobile Devices SDK contains the following packages within the com.teklogix package: 3.2 Package Description backlight Controls the display and keyboard backlights on Psion Teklogix computers. configuration Contains controls for accessing and changing registry keys. display Returns information on the display hardware. indicators Controls the software accessible LEDs on a Psion Teklogix computer.
3.3 Getting Started in Java The Psion Teklogix APIs for Java are contained in the PsionTeklogixJava.jar file, located in the \Java subdirectory of your Mobile Devices SDK installation. Include this file when you compile your Java programs using the Java Development Kit. You must also include the file PtxSdkCommon.dll, which can be located in any of the \ subdirectories of your Mobile Devices SDK installation (e.g. “...\Windows CE 5.00\Studio2005\”).
4 THE .NET LIBRARY 4.1 Namespaces List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 Development Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 Getting Started in .NET . . . . . . . . . . . . . . . . 4.3.1 Importing the Psion Teklogix Toolbox Items 4.3.2 Linking to the Mobile Devices SDK Library 4.3.3 Add the Common Library Source File . . . . 4.4 Wizards . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 4: The .NET Library Namespaces List 4.1 Namespaces List The Mobile Devices SDK for .NET has the following namespaces in the PsionTeklogixNet.dll file: Namespace Description PsionTeklogix Contains all the other namespaces. Backlight Controls the display and keyboard backlights on Psion Teklogix computers. Barcode Controls and reads data from bar code readers and imagers. Barcode.ScannerServices Controls imaging scanners and gives access to data read by them.
Chapter 4: The .NET Library Development Platforms 4.2 Namespace Description Windows.Forms Enables the processing of screen-captured signatures, and access to some of the properties of the Psion Teklogix computer’s display. WLAN Enables wireless local-area networking. WWAN Enables wireless wide-area networking. Development Platforms The following development platforms should be used for developing .
Chapter 4: The .NET Library Add the Common Library Source File 4.3.3 Add the Common Library Source File 1. Open the Project > Add Existing Item... menu and select Add Existing Item.... 2. In the dialog box that appears, use the navigation tools to browse to the Mobile Devices SDK V3.1 installation directory, and from there to the subdirectory that corresponds to the Operating System the application will be deployed on (Windows CE 5.00, WindowsMobile5, or WindowsMobile6). 3.
Chapter 4: The .NET Library Online Help 4.5 Online Help Online help files for the .NET APIs can be accessed from within the Visual Studios environment. To access these help files, they must be registered with the Visual Studio program. 1. From the directory where you installed the Mobile Devices SDK, go to the documentation subdirectory. Extract the files contained in Mobile Devices SDK NET.zip to a separate directory on the computer. 2.
5 BACKLIGHT 5.1 Backlighting . . . . . . . . . . . . . 5.1.1 Thresholds . . . . . . . . . 5.1.2 Timeouts . . . . . . . . . . 5.2 Backlight Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 29 29 31 5.
Chapter 5: Backlight Backlighting 5.1 Backlighting The Mobile Devices SDK provides functions that control the display and keyboard backlights on Psion Teklogix computers. The intensity of the backlight and the conditions under which it is activated can be queried and set using the SDK. To conserve battery power, you can configure the backlights to switch off or dim to half intensity after the computer has been inactive for a selected length of time.
Chapter 5: Backlight Timeouts For all Psion Teklogix computers that have backlights, on-time and dim-time values are available as follows in the Control Panel: Windows CE Windows Mobile Time (milliseconds) Display Backlight On-time Display Backlight Dim-time Keyboard Backlight On-time Battery Power Backlight On-time External Power Backlight On-time 0 No Yes No No No 5000 Yes Yes Yes No No 10000 Yes Yes Yes Yes No 15000 Yes Yes Yes No No 30000 Yes Yes Yes Yes No 60000
Chapter 5: Backlight Backlight Configuration Parameters On Psion Teklogix computers running Windows Mobile, the display and keyboard backlight timeouts are not controlled independently; instead both are controlled by a single timeout value. However, there are still two timeout values which may be set; one for when the computer is running on battery power, and one for when it is connected to a constant external power source. 5.
Chapter 5: Backlight Backlight Configuration Parameters Parameter Psion Teklogix Computer Range Of Values Default Value Display timeout (ms) 753x 0 to 2147483647 30000 8515 0 to 2147483647 30000 8525/8530 0 to 2147483647 30000 Ikôn Windows CE 0 to 2147483647 30000 Ikôn Windows Mobile 60000 to 600000 300001 N EO 0 to 2147483647 30000 WORKABOUT PRO Windows CE 0 to 2147483647 30000 WORKABOUT PRO Windows Mobile 60000 to 600000 300001 753x 0 to 2147483647 30000 8515 0 to 2147483
Chapter 5: Backlight Backlight Configuration Parameters Parameter Psion Teklogix Computer Range Of Values Default Value Keyboard threshold (%) 753x 0 to 100 0 Keyboard intensity (%) Keyboard timeout (ms) 8515 N/A 8525/8530 N/A Ikôn Windows CE N/A Ikôn Windows Mobile N/A N EO N/A WORKABOUT PRO Windows CE N/A WORKABOUT PRO Windows Mobile N/A 753x 0 to 100 48 8515 0 to 100 47 8525/8530 0 to 100 48 Ikôn Windows CE 0 to 100 50 Ikôn Windows Mobile 0 to 100 50 N EO 0 to 100
Chapter 5: Backlight Backlight API Elements Parameter Psion Teklogix Computer Range Of Values Default Value Keyboard always on for external power (boolean) 753x True / False False 8515 True / False False 8525/8530 True / False False Ikôn Windows CE True / False False Ikôn Windows Mobile True / False False N EO True / False False WORKABOUT PRO Windows CE True / False False WORKABOUT PRO Windows Mobile True / False False 1 On Windows Mobile devices, reading the default value retu
6 POWER MANAGEMENT 6.1 Battery Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Suspend Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.3 Power-on Keyguard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.4 Reset Key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.5 Battery Information. . . . . . . . . . . . . . . .
Chapter 6: Power Management Battery Power Management 6.1 Battery Power Management The Mobile Devices SDK provides features that can be used to control and preserve battery power in Psion Teklogix computers. 6.1.1 Suspend Timeout The suspend timeout determines how long the Psion Teklogix computer will wait for any activity (key press, scan, or touch screen event, or a wireless radio transmission) before it should go into the suspend state.
Chapter 6: Power Management Events 6.1.2 Events The following power state events are generated by the computer and can be detected by the Mobile Devices SDK: • • • • • 6.1.3 AC Power online AC Power offline Battery status change Power information change Power transition Power-on Keyguard The power-on keyguard feature specifies the number of key presses that are needed to power up the Psion Teklogix computer. Multiple key presses protect the hand-held computer from accidental power-up.
Chapter 6: Power Management Power Management API Elements The Battery Suspend Threshold value ranges for each computer model are as follows: Psion Teklogix Computer Battery Suspend Threshold 753x 0 to 18 8515 Not available 8525/8530 Not available Ikôn 0 to 8 N EO 0 to 13 WORKABOUT PRO Not available WORKABOUT PRO G2 0 to 17 6.1.5.
Chapter 6: Power Management Card Slots The following table lists the Psion Teklogix Windows CE-based computers, their card slots, and whether the card slots can be controlled by the SDK. The “SDK Hardware Name” is the specific string used with the get / set method to identify the card slot.
Chapter 6: Power Management Controlling Power Through The Windows Control Panel Psion Teklogix Computer Card Slot Type SDK Hardware Name Software Control Of Power State WORKABOUT PRO SD-MMC SD-MMC Yes Cards Accepted SD card (memory only) MMC card (memory only) CF PCMCIA Slot0 Yes CF card PCMCIA (upgradable on 100-pin connector) PCMCIA Slot13 Yes PCMCIA card 3 On the WORKABOUT PRO, when the PCMCIA slot is not installed, calls to the power state setting method for PCMCIA Slot1 throws an exce
Chapter 6: Power Management Controlling Power Through The SDK 6.2.2 Controlling Power Through The SDK Each of the API libraries has methods for the following (refer to the documentation for the relevant API library for more details) Method Purpose Input & Output Set the power state Input: and Get the power state Input: Output: Where: identifies the card slot. See “Card Slots” on page 39 for valid values.
Chapter 6: Power Management Card Slot Control API Elements 6.2.3 Card Slot Control API Elements C++: The card slots on all Psion Teklogix computers are controlled using the PsionTeklogix::Peripherals namespace. Java: The card slots on all Psion Teklogix computers are controlled using the Peripherals class in the com.teklogix.system package. .NET: The card slots on all Psion Teklogix computers are controlled using the PsionTeklogix.Peripherals namespace. 6.
7 DISPLAY 7.1 Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.2 Display API Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 7: Display Display 7.1 Display The Mobile Devices SDK provides functions that obtain information on the display screen hardware that cannot be easily obtained using standard features of the development languages. Display features are available as follows: Psion Teklogix Computer Number of Colours Screen Size Touchscreen Type 7530 • • • • 240 pixels wide 320 pixels high ¼ VGA 3.5 in. diagonal 65536 Optional Reflective 7535 • • • • 240 pixels wide 320 pixels high ¼ VGA 3.5 in.
Chapter 7: Display Display API Elements The following display information can be retrieved using the SDK: Display Hardware Property C++ Java .NET Colour or monochrome No Yes Yes Display type No Yes Yes Display dimensions in pixels No Yes Yes Display dimensions in millimetres No Yes Yes Maximum number of colours, or shades of grey No Yes Yes Touchscreen, or non-touchscreen Yes Yes Yes The following properties are returned, as name/value pairs, by the Mobile Devices SDK: 7.
8 INDICATORS 8.1 Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.2 Using LED Colours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.3 Controlling Pulses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.4 Controlling Illumination Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.5 Indicator API Elements. . . . . . . . .
Chapter 8: Indicators Indicators 8.1 Indicators Most Psion Teklogix computers have LEDs that can be controlled by applications. Typically, these are used to indicate device activity, data reception, data transmission, error conditions, alerts, and software updates. LEDs are available as follows: 8.
Chapter 8: Indicators Controlling Pulses 8.3 Controlling Pulses The following terms are used to describe the behaviour of a pulsing LED: Independent colour: On multi-colour LEDs, if the independent colour flag is set, this pulse can add to the colour being displayed by the LED. Extend current pulse: This feature only applies when the independent colour flag is also set.
9 KEYBOARD 9.1 Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9.1.1 Supported Keyboards. . . . . . . . . . . . . . . . 9.1.1 Supported Keyboards. . . . . . . . . . . . 9.1.2 Disabling The Keyboard . . . . . . . . . . 9.1.3 Keyboard API Elements . . . . . . . . . . 9.2 Keyboard Remapping . . . . . . . . . . . . . . . . 9.2.1 Scan Codes For Psion Teklogix Keyboards 9.2.2 Keyboard Remapping API Elements. . . . 9.3 Key Insertion . . . . . . . . .
Chapter 9: Keyboard Keyboard 9.1 Keyboard Microsoft Windows maintains a device-independent keyboard model that enables it to support a variety of keyboards. At the lowest level, each key on the keyboard generates a scan code when the key is pressed and released. The scan code is a hardware-dependent number that identifies the physical location of the key on the keyboard. Unlike Windows-based desktop operating systems, Windows CE has no standard set of keyboard scan codes.
Chapter 9: Keyboard Disabling The Keyboard Psion Teklogix Computer Keyboard Description Strings 26-Key N EO 48-Key Unknown WORKABOUT PRO G1 24-Key Keyboard 52-Key Keyboard 25-key WORKABOUT PRO G2 52-key Unknown 9.1.2 Disabling The Keyboard The keyboard can be disabled at the hardware level. When disabled, no key presses are recorded.
Chapter 9: Keyboard Keyboard Remapping All Psion Teklogix computers have non-chorded keyboards. A non-chorded keyboard is a keyboard that does not handle simultaneous key presses. Each key pressed generates a unique scan code which is not modified by the state of other keys on the keyboard. Modifier keys are keys on the keyboard that when pressed and released set a mode that can change the behaviour of other keys on the keyboard.
Chapter 9: Keyboard Scan Codes For Psion Teklogix Keyboards Scan code remapping enables applications to perform the following operations: • Create one or more scan code remappings for a scan code table. • Remove a scan code remapping from a scan code table. • Remove all scan code remappings from a scan code table. • Check to see if a particular scan code has been remapped. • Convert the table to a printable string.
Chapter 9: Keyboard Scan Codes For Psion Teklogix Keyboards Key Scan Code Name Scan Code H hwIndepScanCode_H 17 I hwIndepScanCode_I 18 J hwIndepScanCode_J 19 K hwIndepScanCode_K 20 L hwIndepScanCode_L 21 M hwIndepScanCode_M 22 N hwIndepScanCode_N 23 O hwIndepScanCode_O 24 P hwIndepScanCode_P 25 Q hwIndepScanCode_Q 26 R hwIndepScanCode_R 27 S hwIndepScanCode_S 28 T hwIndepScanCode_T 29 U hwIndepScanCode_U 30 V hwIndepScanCode_V 31 W hwIndepScanCode_W 32 X
Chapter 9: Keyboard Scan Codes For Psion Teklogix Keyboards Key 60 Scan Code Name Scan Code Function 12 hwIndepScanCode_F12 51 Function 13 hwIndepScanCode_F13 52 Function 14 hwIndepScanCode_F14 53 Function 15 hwIndepScanCode_F15 54 Function 16 hwIndepScanCode_F16 55 Function 17 hwIndepScanCode_F17 56 Function 18 hwIndepScanCode_F18 57 Function 19 hwIndepScanCode_F19 58 Function 20 hwIndepScanCode_F20 59 Function 21 hwIndepScanCode_F21 60 Function 22 hwIndepScanCode_F22 6
Chapter 9: Keyboard Scan Codes For Psion Teklogix Keyboards Key Scan Code Name Scan Code Macro 12 hwIndepScanCode_M12 81 Scan hwIndepScanCode_Scan 90 hwIndepScanCode_HandgripScan 91 Left Scan hwIndepScanCode_LeftScan 92 Right Scan hwIndepScanCode_RightScan 93 Left Scan, Side hwIndepScanCode_SideLeftScan 94 Right Scan, Side hwIndepScanCode_SideRightScan 95 hwIndepScanCode_Alt 100 Backspace hwIndepScanCode_Bksp 101 Blue hwIndepScanCode_Blue 102 hwIndepScanCode_Backlight 103 h
Chapter 9: Keyboard Keyboard Remapping API Elements Key Up Arrow hwIndepScanCode_UpArrow 123 hwIndepScanCode_SideLeftDownArrow 124 hwIndepScanCode_SideLeftUpArrow 125 hwIndepScanCode_SideRightDownArrow 126 hwIndepScanCode_SideRightUpArrow 127 Windows hwIndepScanCode_Windows 128 Soft Key 1 hwIndepScanCode_SoftKey1 129 Soft Key 2 hwIndepScanCode_SoftKey2 130 Phone Send hwIndepScanCode_PhoneSend 131 Phone End hwIndepScanCode_PhoneEnd 132 Phone * (Star) hwIndepScanCode_PhoneStar 133
Chapter 9: Keyboard Key Insertion API Elements Before this feature is invoked, the focus must be on the relevant input field. This feature is typically used for the following, described in further detail below: • • • In application lock-down mode, displaying key presses in alpha mode. Reversing an accidental press of the [BLUE] key or the [ORANGE] key. As a keyboard wedge. Application Lock-Down Mode When an application is operating in lock-down mode, the Windows task bar is not visible.
PERIPHERALS 10 10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 10.2 Definition Of Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 10.3 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 10.4 Peripheral and Card Slot Power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 10.5 Docking Station . . . . . . . . . . .
Chapter 10: Peripherals Overview 10.1 Overview The Mobile Devices SDK enables applications to detect and control peripherals attached to Psion Teklogix computers, such as docking stations, tethered devices, and cards inserted in card slots. 10.2 Definition Of Terms Some terms used in the chapter have precise definitions. They are defined in this section. Adaptor: This is a hardware component that supports the connection of the computer to a network or a peripheral device.
Chapter 10: Peripherals Tether Ports 10.6 Tether Ports The Mobile Devices SDK can detect the type of peripheral device that is attached to the computer via an external tether port. It can also detect the attachment and removal of a tether port device. Tether ports are available as follows: Psion Teklogix Computer Has A Tether Port 7530 Yes 7535 Optional 8515 Yes 8525/8530 Yes Ikôn Yes N EO Yes WORKABOUT PRO Optional The following types of device can be attached to a tether port: • • • 10.
PERMANENT STORAGE 11 11.1 Permanent Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.2 Locking Permanent Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.3 Permanent Storage API Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 11: Permanent Storage Permanent Storage 11.1 Permanent Storage A small amount of permanent storage is provided on some Psion Teklogix computers. This storage is accessible through the Mobile Devices SDK, but is not accessible through the Control Panel. Data stored in permanent storage persists across power failure, all types of reset, and through clean starts.
RAS (REMOTE ACCESS SERVICE) 12 12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 12.2 RAS Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 12.3 RAS on Windows Mobile (Connection Manager) . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 12.4 RAS API Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 12: RAS (Remote Access Service) Overview 12.1 Overview Microsoft Windows CE .NET and Windows Mobile provide support for a Remote Access Service (RAS) server. You can use RAS in any computing environment that has a wide area network (WAN) or a virtual private network (VPN). RAS makes it possible to connect a remote client computer to a network server over a WAN or a VPN. A Windows-based device can function as a RAS server that allows clients to connect to it using a WAN connection.
Chapter 12: RAS (Remote Access Service) RAS on Windows Mobile (Connection Manager) 12.3 RAS on Windows Mobile (Connection Manager) In addition to RAS, Windows Mobile devices come with a Connection Manager which some applications, such as Internet Explorer, use to determine if there is an Internet connection.
13 REMOTE SOCKETS 13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 13.2 802.11 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 13.3 Narrowband Radio Systems . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Remote Sockets Proxy . . . . . . . . . . . . . . . . . . . . . . 13.3.2 Starting A Remote Sockets Connection . . . . . . . . . . . . . 13.3.3 Ending A Remote Sockets Connection . .
Chapter 13: Remote Sockets Overview 13.1 Overview Sockets permit applications to communicate across a network with no dependence on the network protocol. Psion Teklogix Remote Sockets is available for narrowband systems on the following devices: • 7530 • 8525 • 8530 The Remote Sockets API is only available for programming in C++, not in Java or .NET. 13.2 802.11 Systems On Psion Teklogix 802.11 systems running Windows CE, the Windows Sockets 2 API is available from Microsoft.
Chapter 13: Remote Sockets Configuring A Psion Teklogix Network Controller (9400/9500) 13.3.4 Configuring A Psion Teklogix Network Controller (9400/9500) On the Psion Teklogix network controller, each Psion Teklogix computer is considered to be a terminal. On the Psion Teklogix controller, navigate to the Radio Link Features screen, and set the following parameters: • • Select Operate in Cellular Mode. Set the automatic radio address assignment range.
Chapter 13: Remote Sockets Troubleshooting A Remote Sockets Connection it. Also, as mentioned above, there is no guarantee a Psion Teklogix computer that closes and then re-opens a socket will be reassigned the same terminal number by the network controller. • Remote socket calls will not always generate errors in the same way as Windows Socket 2 calls. Due to the nature of the underlying protocol, socket calls (send, for example) will not immediately return errors to the application.
Chapter 13: Remote Sockets Remote Sockets API Elements 13.3.7 Remote Sockets API Elements C++: Remote sockets on all Psion Teklogix Windows CE computers is controlled using the PsionTeklogix::RemoteSockets namespace. Java: Not available. .NET: Not available. 13.4 Technical References This chapter assumes that the reader has some familiarity with Sockets programming. The following books by W.
14 SCANNERS 14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.1 Types Of Scanners . . . . . . . . . . . . . . . . . 14.1.1.1 Non-decoded Scanners. . . . . . . . . . . 14.1.1.2 Decoded Scanners . . . . . . . . . . . . . 14.1.1.3 Imaging Scanners . . . . . . . . . . . . . 14.1.2 Scanner Connections . . . . . . . . . . . . . . . . 14.1.2.1 Internal Scanners . . . . . . . . . . . . . . . . . 14.1.2.2 External Scanners . . . . . . . . . . . . . . . . . 14.1.3 Symbologies . . . . . . . . .
14.3.3.21 Composite Settings . . . . 14.3.3.22 TLC-39 Settings . . . . . 14.3.3.23 PDF417 Settings . . . . . 14.3.3.24 Micro PDF-417 Settings . 14.3.3.25 Code 16K Settings . . . . 14.3.3.26 Code 49 Settings . . . . . 14.3.3.27 Codablock Settings . . . . 14.3.3.28 2D Data Matrix Settings . 14.3.3.29 2D QR Code Settings. . . 14.3.3.30 2D MaxiCode Settings . . 14.3.3.31 2D Aztec Settings. . . . . 14.3.3.32 Postal: PlaNET Settings . 14.3.3.33 Postal: PostNET Settings . 14.3.3.34 Postal: Australian Settings 14.
Chapter 14: Scanners Overview 14.1 Overview The Mobile Devices SDK provides functions that handle all the low-level activities of bar code scanners. 14.1.1 Types Of Scanners The Mobile Devices SDK supports the following types of bar code scanner: • • • Non-decoded scanners Decoded scanners Imaging scanners (for legacy applications only, see Section 14.1.1.3 below) 14.1.1.1 Non-decoded Scanners Non-decoded scanners present unprocessed scan data to the computer.
Chapter 14: Scanners Scanner Connections 14.1.2.1 Internal Scanners An internal scanner is built into the body of the hand-held computer. Each hand-held computer can have only one internal scanner. The scanner can be a non-decoded scanner, a decoded scanner, an imaging scanner, or an RFID scanner. The internal scanner is activated by the hand-held’s scanner button, or by the pistol grip trigger mechanism.
Chapter 14: Scanners Symbologies Querying the scanner type for an external scanner through the Mobile Devices SDK returns one of the following strings: Scanner Type String Returned By API No external scanner No external scanner Non-decoded scanner Non-decoded scanner Decoded scanner Serial scanner 14.1.3 Symbologies In bar codes, numbers, letters, and computer-recognized characters are represented in a combination of bars and spaces.
Chapter 14: Scanners Configuring Scanners Non-decoded Imager (Deprecated) Symbol 1223 Symbol 923 Symbol 1224 Symbol 1524 Symbol 2223 Decoded Scanner Royal Mail Code No Yes No No No No PLANET No Yes No No No No POSTNET No Yes No No No No 2D Data Matrix No Yes No No No No 2D MaxiCode No Yes No No No No 2D PDF417 No Yes No No No Yes 2D Micro PDF417 No Yes No No No Yes 2D QR Code No Yes No No No No RSS No Yes No Yes Yes Yes Aztec Code No Y
Chapter 14: Scanners Configuring Through The SDK 14.2.2 Configuring Through The SDK All the settings that can be configured through the Windows Control Panel can be configured through the Mobile Devices SDK with the exception of the translation features. 14.2.3 Configuring With Bar Codes All external decoded scanners must be configured by scanning special purpose bar codes supplied by the scanner manufacturer.
Chapter 14: Scanners Configuring Scanner Properties The following .NET code sample illustrates how to get and set scanner variables using the setting key/name methods, and also illustrates how to create a list of all scanner setting index and key/name pairs. // Create an instance of a ScannerServicesDriver object PsionTeklogix.Barcode.ScannerServices.ScannerServicesDriver myScanner = new PsionTeklogix.Barcode.ScannerServices.
Chapter 14: Scanners Configuring Scanner Properties Send a character to the application mode In this mode, double-clicking the scanner-associated trigger sends a single pre-selected character defined in the Click Data setting to the application. These settings control this process for the internal scanner as well as for an external nondecoded scanner.
Chapter 14: Scanners Configuring Global Bar Code Options 14.3.2 Configuring Global Bar Code Options 14.3.2.1 Non-decoded Scanner Options These settings apply to internal and external non-decoded scanners.
Chapter 14: Scanners Configuring Global Bar Code Options 14.3.2.3 Decoded Scanner Advanced Options These settings apply to internal decoded scanners (including imagers acting as bar code scanners) only.
Chapter 14: Scanners Configuring Global Bar Code Options SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Decoded Scanner Setting Name Minimum Maximum Default Control Panel Name Scanning Mode 1 7 1 Scanning Mode Raster Height 1 15 15 Raster Height Raster Expansion Rate 1 15 11 Raster Expand Rate 14.3.2.5 Decoded Scanner Data Options These settings apply to the internal decoded scanner only.
Chapter 14: Scanners Configuring Global Bar Code Options Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Imager • Menu Item Options SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Imager Scanner Setting Name Minimum Maximum Default Control Panel Name TekImager Enabled 0 = off 1 = on 1 TekImager Enabled ContinuousScanMode 0 = off 1 = on 0 Continuous Scan Mode Only
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Imager Scanner Setting Name Minimum Maximum Default Control Panel Name DefaultDevice 0 = off 1 = on 0 Factory Defaults on Reboot MinScanDuration 0 6 3 Min Scan Duration MaxCapturesPerTrigger 1 32 9 Captures Per HW Trigger AutoExposure 0 = off 1 = on 1 Auto Exposure FastConverge 0 = off 1 = on 0 Fast Converge MaxGain 2 30 30 M
Chapter 14: Scanners Configuring Bar Code Symbologies Code 39 Settings SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\[Symbology Code]1\Scs Scanner Setting Name Minimum Maximum Default Control Panel Name Field Size 0 1400 0 Field Size Minimum Size 0 1400 0 Minimum Size Maximum Size 0 1400 0 Maximum Size Prefix Char 0 0xFFFF 0 Prefix Char Suffix Char 0 0xFFFF 0 Suffix Char Strip Leading 0 127 0 Strip Leading Strip T
Chapter 14: Scanners Configuring Bar Code Symbologies Code 39 Settings Decoded Scanner These settings apply to an internal decoded scanner using the Code 39 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Code 39 Settings SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\C39\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Full ASCII 0 = off 1 = on 0 Full ASCII Check Digit Verification 0 = off 1 = on 0 Check Digit Verification Include Check 0 = off 1 = on 0 Include Check Intermec ISCP Imager These settings apply only to t
Chapter 14: Scanners Configuring Bar Code Symbologies Trioptic Code Settings HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the Code 39 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Code 128 Settings 14.3.3.4 Code 128 Settings Non-decoded Scanner These settings apply to an internal or external non-decoded scanner using the Code 128 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Code 128 Settings Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Imager • Menu Item Code 128 SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\C128\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Intermec ISCP Imager These settings apply only to the I
Chapter 14: Scanners Configuring Bar Code Symbologies EAN 13 Settings HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the Code 128symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies EAN 13 Settings Decoded Scanner These settings apply to an internal decoded scanner using the EAN 13 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\EAN13\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled ISBN Conversion 0 = off 1 = on 0 ISBN Conversion Transmit Check Digit 0 = off 1 = on 1 Transmit Check Digit HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the EAN 13 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\EAN8 Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Include Chk 0 = off 1 = on 1 Include Check Addendum 0 2 0 Addendum Transmit Code ID Character 0 = off 1 = on 0 Transmit Code ID Char Decoded Scanner These settings apply to an internal decoded scanner using the EAN 8 symbolog
Chapter 14: Scanners Configuring Bar Code Symbologies Intermec ISCP Imager These settings apply only to the Intermec ISCP imager acting as a decoded scanner using the EAN 8 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies 14.3.3.7 UPC A Settings Non-decoded Scanner These settings apply to an internal or external non-decoded scanner using the UPC A symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Imager • Menu Item UPC A SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\UPCA\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Addendum 0 2 0 Addendum Intermec ISCP Imager These settings apply only
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\UPCA\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Check Digit 0 = off 1 = on 1 Check Digit Number System 0 = off 1 = on 1 Transmit Number System 2 Digit Addendum 0 = off 1 = on 0 Addendum Add-on 2 5 Digit Addendum 0 = off 1 = on 0 Addendum Add-on 5 Addendum Required
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Imager • Menu Item UPC E SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\UPCE\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Addendum 0 2 0 Addendum Decoded Scanner These settings apply to an inte
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (Intermec ISCP) • Menu Item UPC E SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\UPCE\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled UPC-E1 Enabled 0 = off 1 = on 0 Enable UPC-E1 Transmit C
Chapter 14: Scanners Configuring Bar Code Symbologies 14.3.3.9 UPC/EAN Shared Settings Decoded Scanner These settings apply to an internal decoded scanner using UPC/EAN symbologies.
Chapter 14: Scanners Configuring Bar Code Symbologies HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using UPC/EAN symbologies.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Non-decoded • Menu Item Codabar SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\CDB Scanner Setting Key: Barcode\CDB Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled StartStopChars 0 = off 1 = on 1 Strip St
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\CDB\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Start Stop Transmission 0 4 0 Start/Stop Transmit CLSI Library System 0 = off 1 = on 0 CLSI Library System Check Digit Verification 0 = off 1 = on 0 Check Digit Verification Transmit Check Digit 0 = off 1 = on 0 Trans
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Non-decoded • Menu Item Code 93 SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\C93 Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Transmit Code ID Character 0 = off 1 = on 0 Transmit Code ID Char Decode
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\C93\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Intermec ISCP Imager These settings apply only to the Intermec ISCP imager acting as a decoded scanner using the Code 93 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies 14.3.3.12Code 11 Settings Non-decoded Scanner These settings apply to an internal or external non-decoded scanner using the Code 11 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the Code 11 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Decoded Scanner These settings apply to an internal decoded scanner using the Interleaved 2 of 5 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (Intermec ISCP) • Menu Item Interleaved 2 of 5 SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\I25\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Reading Range 0 1 1 Reading Range Check Digi
Chapter 14: Scanners Configuring Bar Code Symbologies 14.3.3.14MSI Plessey Settings Non-decoded Scanner These settings apply to an internal or external non-decoded scanner using the MSI Plessey symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Intermec ISCP Imager These settings apply only to the Intermec ISCP imager acting as a decoded scanner using the MSI Plessey symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\MSI\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Enabled Plessey 0 = off 1 = on 0 Enable Plessey Check Char 0 1 0 Check Char Length Min 4 48 4 Minimum Length Length Max 4 48 48 Maximum Length Plessey Length Min 4 48 4 Plessey Minimum Length Plessey Length Max
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Matrix25\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Length Min 1 80 4 Minimum Length Length Max 1 80 80 Maximum Length 14.3.3.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\D25\Decoded Scanner Setting Key: Barcode\D25\Decoded Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Length L1 0 12 12 Set Length L1 Length L2 0 12 0 Set Length L2 Intermec ISCP Imager These settings apply only to the Intermec ISCP imager acting as a decoded scanner using the Discre
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item Discrete 2 of 5 SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\D25\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Length Min 1 48 4 Minimum Length Length Max 1 48 48 Ma
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item IATA 2 of 5 SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\IATA25\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Length Min 1 48 4 Minimum Length Length Max 1 48 48 Max
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item Telepen SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Telepen\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Output 0 1 0 Output Length Min 1 60 1 Minimum Length Leng
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Imager • Menu Item RSS Code SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\RSSCode\Imager Scanner Setting Key: Barcode\RSSCode\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Intermec ISCP Imager These
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\RSSCode\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled RSS Limited Enabled 0 = off 1 = on 1 Enable RSS Limited RSS Expanded Enabled 0 = off 1 = on 1 Enable RSS Expanded RSS Expanded Length Min 4 74 4 Minimum Length RSS Expanded Length Max 4 74 74 Maximum Length 14.3.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Composite\Decoded Scanner Setting Name Minimum Maximum Default Control Panel Name CC-C Enabled 0 = off 1 = on 0 Enable CC-C CC-AB Enabled 0 = off 1 = on 0 Enable CC-AB TLC-39 Enabled 0 = off 1 = on 0 Enable TLC-39 Imager (Deprecated) These settings apply to an internal imager scanner using the Composite Code symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Composite\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name CC-A/B Enabled 0 = off 1 = on 0 Enable CC-AB CC-C Enabled 0 = off 1 = on 0 Enable CC-C Linear Transmission only 0 = off 1 = on 0 Linear Transmission only UPC and EAN composite message decoding 0 2 2 UPC-EAN composite message decoding HHP Imager The
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\TLC39\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Linear Transmission only 0 = off 1 = on 0 Linear Transmission only Security Level 0 100 10 Security Level HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the TLC-39 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Imager (Deprecated) These settings apply to an internal imager scanners using the PDF417 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\PDF417\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Length Min 1 2750 1 Minimum Length Length Max 1 2750 2750 Maximum Length 14.3.3.24Micro PDF-417 Settings Decoded Scanner These settings apply to an internal decoded scanner using the micro PDF417 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Intermec ISCP Imager These settings apply only to the Intermec ISCP imager acting as a decoded scanner using the micro PDF417 symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item Code 16K SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\C16K\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Length Min 1 160 1 Minimum Length Length Max 1 160 160 Maxim
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (Intermec ISCP) • Menu Item Codablock SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Codablock\ICSP Scanner Setting Name Minimum Maximum Default Control Panel Name Codablock A Enabled 0 = off 1 = on 0 Enable Codablock A Codablock F Enabled 0 = off
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\DataMatrix\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Inverse Video Mode 0 = off 1 = on 0 Inverse Video Mode Rectangular 0 = off 1 = on 1 Rectangular HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the 2D Data Matrix symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\QRCode\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Inverse Video Mode 0 = off 1 = on 0 Inverse Video Mode HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the 2D QR Code symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the 2D MaxiCode symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item 2D Aztec SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\Aztec\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 1 Enabled Runes Enabled 0 = off 1 = on 0 Aztec Runes Length Min 1 3750
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\PlaNET\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled Check Digit 0 = off 1 = on 0 Check Digit 14.3.3.33Postal: PostNET Settings Imager (Deprecated) These settings apply to an internal imager scanner using the PostNET Postal symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies 14.3.3.34Postal: Australian Settings Imager (Deprecated) These settings apply to an internal imager scanner using the Australian Postal Address symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\PostalCdn\Imager Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled HHP Imager These settings apply only to the HHP imager acting as a decoded scanner using the Canadian Postal Address symbology.
Chapter 14: Scanners Configuring Bar Code Symbologies Control Panel: These settings are changed through the Control Panel Scanner Properties as follows: • Tab Barcodes • Scanner: Decoded (HHP) • Menu Item Postal: Japanese SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\PostalJap\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled 14.3.3.
Chapter 14: Scanners Configuring Bar Code Symbologies SDK: These settings can be changed and queried through the SDK as follows: Scanner Setting Key: Barcode\PostalKix\HHP Scanner Setting Name Minimum Maximum Default Control Panel Name Enabled 0 = off 1 = on 0 Enabled 14.3.3.38Postal: Korean Settings Imager (Deprecated) These settings apply to an internal imager scanner using the Korean Postal Address symbology.
Chapter 14: Scanners Reading Bar Codes 14.3.3.39Postal: Royal Settings Imager (Deprecated) These settings apply to an internal imager scanner using the Royal Mail Postal symbology.
Chapter 14: Scanners Controlling A Bar Code Scan 14.4.2 Controlling A Bar Code Scan The following timing parameters control bar code scanning for the internal scanner: Double-click time This parameter defines the time within which the scanner trigger must be pressed twice, if the trigger presses are to be interpreted as a double-click and not as two single-clicks.
Chapter 14: Scanners Scanner Events The following diagram shows the timing sequence for a software initiated bar code scan: Figure 14.2 Software Initiated Scanner Timing Sequence Time Scan beam on time Dot time Typically 0.5 sec. Scan initiated Soft Scan Timeout There are four possible outcomes for a bar code scan: • The scan is successful. • The scan times out. • The scan is cancelled. • The scan fails.
SERIAL PORTS 15 15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 15.2 WORKABOUT PRO G2 Serial Port Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . .155 15.3 7530, 7535, 8525, and 8530 Serial Port Assignments . . . . . . . . . . . . . . . . . . . . . . . . .156 15.4 8515 Serial Port Assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 15.5 Ikôn Serial Port Assignments . . . . . . . . . . . .
Chapter 15: Serial Ports Overview 15.1 Overview The Mobile Devices SDK enables the detection of serial ports on Psion Teklogix computers. It also provides information on these serial ports, and listeners for physical change events that arise on these ports. For .NET, it also provides the ability to read and write data through the serial ports. Serial ports can be dynamically added to, and removed from, Psion Teklogix computers. Also, on some computers, serial ports can change their physical location.
Chapter 15: Serial Ports 7530, 7535, 8525, and 8530 Serial Port Assignments All COM ports can be reassigned unless indicated otherwise in Table 15.1. Reassignment is done either using the Psion Teklogix COM Port Manager Control Panel program, or in the Windows registry. For information on using the COM Port Manager, refer to the user manual for the Psion Teklogix computer.
Chapter 15: Serial Ports Ikôn Serial Port Assignments 15.5 Ikôn Serial Port Assignments Table 15.3 Default Ikôn Serial Port Assignment Serial Port Default Assignment BSP 1-9 Bluetooth virtual devices COM0 UMTS COM2 GPS COM3 Console port on portable docking module. COM4 USB client port—used by ActiveSync. COM5 RS-232 port on Ikôn, and serial port available on the USB port of the port replicator. COM6 RS-232 port A on port replicator. COM7 Bluetooth Command Interpreter (blocked).
Chapter 15: Serial Ports Java Serial port attached event: This is generated when a new serial port is detected on the Psion Teklogix computer. Examples of situations where this event is generated are as follows: The computer is placed in a cradle or battery charger which has a port replicator; a card—such as a modem card—including a serial port is inserted in a card slot. Serial port detached event: This is generated when a serial port is removed from the Psion Teklogix computer.
SOUND 16 16.1 Sound Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 16.2 Playing Beeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 16.3 Playing WAV Audio Format Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 16.4 Sound API Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 16: Sound Sound Hardware 16.1 Sound Hardware The Mobile Devices SDK controls beepers and speakers on Psion Teklogix computers as well as playing beeps and waveform audio. Beepers, which are capable of providing louder sounds than speakers, are useful in environments with high background noise levels.
Chapter 16: Sound Sound API Elements • • • Asynchronous—the sound is played asynchronously and the call returns immediately after beginning the sound. To terminate an asynchronously played waveform sound before it is complete, either another waveform sound must be started, or a call must be made to an API element that stops the playing of sounds. Synchronous—the sound is played synchronously and the call returns when the waveform sound is complete.
SYSTEM INFORMATION 17 17.1 System Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 17.2 Machine Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 17.3 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 17.4 Unique Machine Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 17.5 Psion Teklogix Build Codes. . .
Chapter 17: System Information System Information 17.1 System Information The Mobile Devices SDK provides Psion Teklogix-specific hardware and configuration information. The following are available if the information is not accessible using Windows calls from the development language: • The Operating System version and build code. • The current language. • Psion Teklogix computer type. • Psion Teklogix model number. • Unique Machine Identifier (UID). • The processor name. • The processor speed.
Chapter 17: System Information Model 17.3 Model The Psion Teklogix model is one of the following strings: • • • • • • • • • 17.4 7505 (Ikôn) 7527C (WORKABOUT PRO G2-C) 7527S (WORKABOUT PRO G2-S) 7530 7535 8515 8525 8530 PX750 (N EO) Unique Machine Identifier The Unique Machine Identifier (UID) is a null-terminated string. The string has the format: • - The hardware serial number is supplied by the board manufacturer.
Chapter 17: System Information System Information API Elements 17.7 System Information API Elements C++: The system information on all Psion Teklogix Windows CE computers is accessed using the PsionTeklogix::System::SystemInformation namespace. Java: The system information on all Psion Teklogix Windows CE computers is accessed using the SystemInformation class in the com.teklogix.system package. .
TOTAL RECALL 18 18.1 Total Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 18.2 Cold Resets And Clean Starts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 18.3 Backup Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 18.4 Profile Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 18.5 Profile Content . . . . . . . . .
Chapter 18: Total Recall Total Recall 18.1 Total Recall Total Recall is a Psion Teklogix utility for backing up and restoring files and configurations. Its primary use is to save a copy of data which would otherwise be lost during a cold reset of the device to a permanent or removable storage medium. This allows the data to be restored when necessary. Previously, Total Recall was also used for purposes of cloning data from one device to another similar device. This functionality has been deprecated.
Chapter 18: Total Recall Storage Locations For Profiles Databases When databases are selected for backup, all eligible databases on the Psion Teklogix computer are backed up. Only Windows-based databases are backed up when this option is selected: third-party databases are not backed up. If all files are selected for backup (see above), then the database files are included in the backup. Registry Settings When this option is selected, all the registry settings are backed up. 18.
Chapter 18: Total Recall Troubleshooting 18.8 Troubleshooting When Total Recall performs backup and restore operations, the progress and results are written to a log file named log.txt, located in the root directory of the computer. If any errors occur in the operation, this file will contain information helpful in determining the nature of the error and the point in the process where the error occurred.
WINDOWS SHELL 19 19.1 Windows Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 19.2 Setting Windows Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 19.3 Enabling And Disabling The Windows Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 19.4 Security Level Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 19: Windows Shell Windows Shell 19.1 Windows Shell On Psion Teklogix computers, the user’s level of access to the Windows shell can be restricted to prevent access to unnecessary or potentially harmful aspects of the system. The following Windows shell features can be set and queried by the Mobile Devices SDK: • • 19.
Chapter 19: Windows Shell System Security API Elements 19.5 System Security API Elements C++: The system security on all Psion Teklogix computers is controlled using the PsionTeklogix::System::Security namespace. Java: The system security on all Psion Teklogix computers is controlled using the Security class and the ShellSecurityLevelChangeEvent class in the com.teklogix.system package. .NET: The system security on all Psion Teklogix computers is controlled using the Security class in the PsionTeklogix.
20 TRIGGER CONTROL 20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 20.2 Definition Of Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 20.3 Trigger Consumer Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 20.4 Trigger Source IDs . . . . . . . 20.4.1 Virtual Key Codes. . . 20.5 Trigger Associations . . . . . . 20.5.1 Trigger Control Flags . 20.
Chapter 20: Trigger Control Overview 20.1 Overview All Psion Teklogix computers have one or more keyboard [SCAN] buttons, some have [SCAN] buttons on the side, and some have the option for a pistol grip trigger. Usually, these buttons are all used to initiate a bar code scan or an RFID read cycle. The Mobile Devices SDK allows you to select any keyboard key or the pistol grip trigger as the means of controlling hardware activity.
Chapter 20: Trigger Control Virtual Key Codes Keyboard trigger sources start at 256—0x100. The trigger source ID for a specific key is 256 plus the virtual key code. See “Keyboard Remapping” on page 56 for information on virtual key codes. For example the virtual key code for the [F1] key is 40. So the trigger source ID for the [F1] key is 296; the sum of 256 and 40. 20.4.1 Virtual Key Codes See the following for a list of virtual key codes: C++: PsionTeklogix::Keyboard::Key enumeration Java: com.
Chapter 20: Trigger Control Double-Clicks Ignore duplicate registration flag: When this flag is set during a trigger association attempt, if the trigger association already exists, no error is returned. Wants-trigger-events flag: When this flag is set, the consumer receives trigger-down events and trigger-up events. It does not receive double-click events unless the wants-double-click-events flag is also set, or there are no consumers registered to receive double-click events.
Chapter 20: Trigger Control Simulated Events Single-click flag: This flag is set when a trigger source is pressed and released within ½ the double-click time configured for that trigger source. The double-click time must be greater than 0 (zero). Double-click flag: This flag is set when a trigger source is pressed twice within the double-click time configured for that trigger source. The double-click time must be greater than 0 (zero). 20.7.
21 WIRELESS LOCAL-AREA NETWORKING 21.1 Wireless Local-Area Networking (WLAN) . . . . . . . . 21.1.1 Radios Supported . . . . . . . . . . . . . . . . . 21.1.2 Configuring WLAN Through The Control Panel 21.1.3 Wireless Zero Config . . . . . . . . . . . . . . . 21.1.4 Summit Client Utility . . . . . . . . . . . . . . . 21.2 Availability Of API Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 21: Wireless Local-Area Networking Wireless Local-Area Networking (WLAN) 21.1 Wireless Local-Area Networking (WLAN) A wireless LAN enables a device to connect to a local-area network (LAN) through a wireless radio connection. The IEEE 802.11 standards define WLANs. The coverage area of a WLAN is dependant on the radio wave frequency, power output and environmental factors that may reflect or absorb radio signals.
Chapter 21: Wireless Local-Area Networking Availability Of API Libraries 21.2 Availability Of API Libraries The WLAN API libraries are available as follows: API Library 21.3 APIs Available On... Summit Radio RA2040 RA2043 Mobile Devices SDK WLAN APIs Yes Yes Yes Summit Client Utility Yes No No Wireless Zero Config Yes Yes Yes Odyssey Access Client No No No Encryption For Data Transmission 21.3.
Chapter 21: Wireless Local-Area Networking Network adaptor Name 21.4.3 Network adaptor Name The network adaptor name can be queried using the Mobile Devices SDK. The string returned is the same as the adaptor name returned by the Control Panel on the same Psion Teklogix computer. 21.5 Summit Radio Features Radios manufactured by Summit behave differently from the other radios available for Psion Teklogix computers. Summit radios operate in one of the following modes: • • Summit mode.
22 WIRELESS WIDE-AREA NETWORKING 22.1 Wireless Wide-Area Networking (WWAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 22.2 Psion Teklogix Computers Supporting WWAN . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 22.3 Supported WWAN Modems . . . . . . . . . . . . . . . . . . . . . 22.3.1 Multiplexing. . . . . . . . . . . . . . . . . . . . . . . . . 22.3.2 Virtual Serial Port . . . . . . . . . . . . . . . . . . . . . . 22.3.2.1 Using The Virtual Serial Port . . . . . . . . . .
22.12.1 Initializing WWAN . . . . . . . . . . . . . . . . . 22.12.2 Initializing Voice Over WWAN . . . . . . . . . . . 22.12.3 Closing Voice Over WWAN. . . . . . . . . . . . . 22.12.4 Making A Phone Call . . . . . . . . . . . . . . . . 22.12.5 Voice Call States . . . . . . . . . . . . . . . . . . . 22.12.6 Receiving A Phone Call . . . . . . . . . . . . . . . 22.12.7 Processing Voice Calls. . . . . . . . . . . . . . . . 22.12.8 Terminating Voice Calls . . . . . . . . . . . . . . . 22.12.9 Call Forwarding . .
Chapter 22: Wireless Wide-Area Networking Wireless Wide-Area Networking (WWAN) 22.1 Wireless Wide-Area Networking (WWAN) The Mobile Devices SDK gives access to WWAN features that are available to a computer using a radio-based network, but which are not available to, or are not needed by, a computer on a wired network. Wireless Wide-Area Networks are wireless networks that cover large geographic areas.
Chapter 22: Wireless Wide-Area Networking Multiplexing 22.3.1 Multiplexing Most WWAN modems have only one serial port. Some modems can operate in multiplexing mode. While a modem without a multiplexing mode has a packet connection, it cannot provide status information to the user interface or to an application. Information such as signal strength cannot be monitored. The WWAN driver tells a suitable modem to switch to multiplexing mode.
Chapter 22: Wireless Wide-Area Networking Virtual Serial Port 22.3.2.3 AT Commands The virtual serial port can be used by an application to send AT commands to the modems. Since AT command sets differ between modems a detailed knowledge of the modem in question is required. Therefore, this use of the virtual port should be limited to legacy applications. New applications should use the Psion Teklogix Mobile Devices SDK to access the network status, SMS functions, etc.
Chapter 22: Wireless Wide-Area Networking Dial-up Data Connections 22.3.3 Dial-up Data Connections The following dial-up connections are available through the WWAN driver: • • • • GSM Networks UMTS Networks CDMA Networks iDEN Networks 22.3.3.1 Dial-up Data in GSM Networks Not all GSM networks support dial-up data connections to land-line modems (e.g. Rogers in Canada has never supported dial-up data connection, Microcell Fido in Canada discontinued dialup data connection support a few years ago).
Chapter 22: Wireless Wide-Area Networking Packet Data 22.3.3.2 Dial-up Data in UMTS Networks In general, UMTS modems should not be used for dial-up data connections. Only the UMTS networks in Japan allow dial-up data connections. As a consequence, for modems that support both GSM and UMTS (Novatel U530 / U630, Sierra AC850 / AC860) dial-up connections are not possible once the modem has switched to UMTS (which it will do whenever UMTS is available and no dial-up connection is already active).
Chapter 22: Wireless Wide-Area Networking Summary Of Modem Differences Option Globetrotter v1, v2, Combo Sierra AC775 Audiovox RTM-8000 CMCS NTN-000 Asus AGC-100 GTRAN GPC-6210 Motorola iM240 Novatel U520, U530, U630 Sierra AC550, AC555, AC850, AC860 Dial-up data through virtual port Yes Yes Yes Yes Yes Packet data through virtual port Yes No Yes Yes Yes AT commands through virtual port Yes Yes Yes Yes Yes Unsolicited AT command responses through virtual port Yes No Yes Yes Yes N
Chapter 22: Wireless Wide-Area Networking Initializing WWAN 22.4 Initializing WWAN Before any of the WWAN functions can be used, you must initialize the WWAN interface. 22.4.1 Checking The Initialization Status Of The WWAN Driver Use GetReadyState to check the initialization status of the driver. This returns one of the following: • • C++: A WWAN_READY_STATE structure containing the WWAN driver status flags. .NET: A member of the WWAN_READY_STATE_FLAGS enumeration. 22.4.
Chapter 22: Wireless Wide-Area Networking WWAN Driver Status Flags SMS store ready The WWAN driver can send, retrieve, or delete SMS messages. The SMS capabilities or SMS configuration of the modem can be queried. This flag must be set for the following functions to be successful: • • • • • ReadSms SendSms DeleteSms SetSmsConfiguation GetSmsConfiguration Initialized The WWAN driver and the modem are ready to access the network.
Chapter 22: Wireless Wide-Area Networking Initializing The WWAN Driver 22.4.3 Initializing The WWAN Driver Note: Each Initialize call must be paired with a Shutdown call. See “Closing WWAN” on page 205 for details. Warning: If you call Initialize several times WITHOUT calling the Shutdown method, eventually a call to Initialize will fail. Before WWAN can be initialized again, the Psion Teklogix computer must be reset; a warm reset is recommended.
Chapter 22: Wireless Wide-Area Networking Initializing The WWAN Driver Sample Code For Initializing WWAN This example provides a safe and reliable way to ensure that the WWAN interface is initialized correctly. This example is written in C++; however, the same process can be followed for a .NET application. Example 22.
Chapter 22: Wireless Wide-Area Networking Initializing The WWAN Driver Example 22.1 Initializing WWAN in C++ (Continued) // Try again. retVal = WirelessWAN::GetReadyState(params, &wwanReadyStatePtr); } if ( retVal != WwanRequestSuccess || params.resultCode != WwanResultSuccess || wwanReadyStatePtr == 0) { // Unable to get the ready state. return false; See return value/result code for reason. } ULONG readyState = wwanReadyStatePtr->State; // Memory was allocated by "GetReadyState(...
Chapter 22: Wireless Wide-Area Networking Initializing The WWAN Driver Example 22.1 Initializing WWAN in C++ (Continued) } // Wait up to 30 seconds for the listener object to signal ready.
Chapter 22: Wireless Wide-Area Networking Closing WWAN Example 22.2 Initializing WWAN in C# (Continued) if ((wwanReadyStatePtr.State & WWAN_READY_STATE_FLAGS.INITIALIZED) != 0) { // Already in the ready state. return true; } count--; } return false; } 22.5 Closing WWAN When an application has finished using the WWAN interface, the WWAN interface must be closed. It is essential that the interface is closed before the application exits.
Chapter 22: Wireless Wide-Area Networking Windows CE 5.0 Connection Figure 22.
Chapter 22: Wireless Wide-Area Networking Windows CE 5.0 Connection Note: It is recommended to wait for a Packet Service Status (see Section 22.6.4 on page 210) of Wwan AttachStateAttached before attempting a connection through RAS. The following example uses RasGetEntryDialParams and RasDial to start a connection. Example 22.5 Windows CE 5.0 Internet Connection in C++ #include #include
Chapter 22: Wireless Wide-Area Networking Windows CE 5.0 Connection Example 22.5 Windows CE 5.0 Internet Connection in C++ (Continued) if (hRasComm != NULL) { RasHangUp(hRasComm); hRasComm = NULL; } return FALSE; } return TRUE; } // // Window's Message handler (WndProc) // case WM_RASDIALEVENT: { RASCONNSTATE rasconnstate = (RASCONNSTATE) wParam; DWORD dwError = (DWORD) lParam; } return TRUE; The following example uses the RAS namespace for the Mobile Devices SDK to make the Internet connection.
Chapter 22: Wireless Wide-Area Networking Windows Mobile 5.0 And Windows Mobile 6 Connection 22.6.2 Windows Mobile 5.0 And Windows Mobile 6 Connection For Windows Mobile operating systems, Microsoft provides the Connection Manager API. This replaces RAS for making WWAN connections. For more information on using the Connection Manager API, visit the following URLs: http://msdn2.microsoft.com/en-us/library/bb416435.aspx http://msdn2.microsoft.com/en-us/library/bb840031.aspx http://msdn.microsoft.
Chapter 22: Wireless Wide-Area Networking Checking Packet Data Status 22.6.4 Checking Packet Data Status If packet data is enabled for the connection to the WWAN service provider, The WWAN driver automatically configures the system so that a connection can be made using RAS or Connection Manager. The following example shows how to check the packet data status: Example 22.8 Checking Packet Service Status In C++ WWanRequestParameters opts; opts.
Chapter 22: Wireless Wide-Area Networking Selecting An Access Point Name (APN) 22.6.7 Selecting An Access Point Name (APN) An Access Point Name (APN) identifies an external network that is accessible from a Psion Teklogix computer. An APN has several associated attributes that define how the computer can access the external network at that point.
Chapter 22: Wireless Wide-Area Networking Access Flags 22.7 Access Flags The Wireless Manager Control Panel applet and the Mobile Devices SDK are able to read and set the same WWAN settings. The access flags prevent conflicts between values manipulated by the Wireless Manager interface and by the Mobile Devices SDK.
Chapter 22: Wireless Wide-Area Networking Controlling The Interaction With The Control Panel 22.7.1 Controlling The Interaction With The Control Panel The following code samples show how the access flags are manipulated using the Mobile Devices SDK. The process is as follows: 1. Save the current access flag settings 2. Change the access flag settings Example 22.
Chapter 22: Wireless Wide-Area Networking WWAN API Elements Example 22.12 Getting The signal Strength in C++ (Continued) ~MyRssiListener() { } virtual void OnSignalState(const WWAN_SIGNAL_STATE &signalState) { // // Process RSSI here // } }; // // Later in the code. // MyRssiListener *rssi = new MyRssiListener(); WirelessWAN::SetIndicationsListener(rssi); WirelessWAN::SetIndicationsState(true); Fore more refined control over when the RSSI signal strength is measured, use the SetSignalSuggestion.
Chapter 22: Wireless Wide-Area Networking Using SMS (Short Message Service) 22.10 Using SMS (Short Message Service) SMS (Short Message Service) is available on GSM networks. It allows text messages of up to 160 characters to be sent and received through the network operator’s SMS gateway. If the receiver is powered off or out of range, messages are stored in the network and delivered at the first opportunity. On Psion Teklogix systems, SMS messages are stored on a SIM card, or in the WWAN modem.
Chapter 22: Wireless Wide-Area Networking WWAN Supplementary Services 22.11 WWAN Supplementary Services Some WWAN networks support supplementary services.These services can complement both voice calls and data services. Setting and querying each supplementary service takes between 30 and 60 seconds, as the Psion Teklogix computer must contact the WWAN network and wait for a reply.
Chapter 22: Wireless Wide-Area Networking Voice Service States 22.11.1 Voice Service States These states can apply to several of the supplementary services; however, in this implementation, only call forwarding, call waiting and call barring use them. Enabled The service is fully enabled. Disabled The service is fully disabled. Some Enabled Some of the service is enabled.
Chapter 22: Wireless Wide-Area Networking Initializing Voice Over WWAN The following sample code shows how to do this: Example 22.14 Initializing Voice Over WWAN In C++ using namespace PsionTeklogix::WWAN; class MyVoiceCallManagerListener : public VoiceCallManager::Listener { public: // OnIncomingCallEvent // // Description: // This method is invoked by a VoiceCallManager object when there is an inco ming // voice call (including waiting calls).
Chapter 22: Wireless Wide-Area Networking Initializing Voice Over WWAN Example 22.14 Initializing Voice Over WWAN In C++ (Continued) default: break; } if ( (newFlags & VoiceCallFlags_LastEvent) != 0 ) { // This voice call is finished. Its now safe to deallocate // the VoiceCall object, instantiated earlier and referenced // by changedCall).
Chapter 22: Wireless Wide-Area Networking Closing Voice Over WWAN 22.12.3 Closing Voice Over WWAN The following steps close voice over WWAN: 1. Free all allocated resources. 2. If the application has been controlling the call notifications, return control to the Control Panel applet. See “Access Flags” on page 212 for details. 3. Call Shutdown. Example 22.
Chapter 22: Wireless Wide-Area Networking Making A Phone Call DialNumber returns a VoiceCall object in dialing state. Continue as follows: 1. Create a new object, to ensure persistence, by passing this VoiceCall object to a copy constructor. This is necessary if this call is within a Windows procedure. 2. Immediately, use RegisterListener to register a listener to monitor the state of the phone call. See “Voice Call States” on page 222 for definitions. Example 22.
Chapter 22: Wireless Wide-Area Networking Voice Call States 22.12.5 Voice Call States These voice call states describe the state of a voice connection between the Psion Teklogix computer and the WWAN network. Contact your WWAN network provider to determine which of these services they support. The status can change at any time for reasons that are outside the control of the application. Instead of polling this method, it is recommended that an application creates an event handler.
Chapter 22: Wireless Wide-Area Networking Voice Call States Alerting Applies to: outgoing calls The called party is being notified that there is an incoming voice call. Typically this means that the called phone is ringing. Incoming Applies to: incoming calls This state applies to an incoming voice call when there is no active voice call. See “Audio for Voice Over WWAN” on page 228 for instructions on creating a ring tone.
Chapter 22: Wireless Wide-Area Networking Receiving A Phone Call 22.12.6 Receiving A Phone Call The VoiceCallManager object is responsible for answering incoming phone calls through the listener that was registered during initialization—see “Initializing Voice Over WWAN” on page 217 for details. An incoming call generates an incoming call event that is processed by the VoiceCallManager object. Terminology is different in C++ and C#. The following example shows how to receive incoming phone calls: 1.
Chapter 22: Wireless Wide-Area Networking Processing Voice Calls Example 22.18 Answering a Phone Call in C++ (Continued) incomingCall.GetOtherPartyCallerId().c_str()); // Please note: It is not recomended that you block this thread, // the next event will not be received untill this handler returns. // This blocking message box is here to keep this demo app simple.
Chapter 22: Wireless Wide-Area Networking Processing Voice Calls If there is one or more calls on hold, then the active call joins them on hold. The held calls can converse in a multiparty call excluding you. The incoming call becomes the new active call. If you do not want this to happen either the active call or the held call must be disconnected before AnswerIncoming is called. Placing The Active Call On Hold And Answering The Held, Or The Waiting, Call Use SwapHeldAndActive.
Chapter 22: Wireless Wide-Area Networking Terminating Voice Calls 22.12.8 Terminating Voice Calls Rejecting An Incoming Call While processing the incoming call event, use RejectIncoming to reject the call. See Example 22.18 Answering a Phone Call in C++ on page 224 . Terminating Active Calls Terminating One Active Call Use HangUp or HangUpActive to terminate a single active call. Terminating All Active Calls Use HangUpActive to terminate all active calls.
Chapter 22: Wireless Wide-Area Networking Dual-Tone Multifrequency (DTMF) 22.12.10 Dual-Tone Multifrequency (DTMF) DTMF is a tone signalling scheme often used for control purposes on a telephone network. For example, it can be used for the remote control of an answering machine, to control voice mail, or to dial an extension. For example, to dial an extension number of 1234, there are two options: • • Call SendDTMF with the string 1234, or Call SendDTMF four times.
Chapter 22: Wireless Wide-Area Networking Voice Over WWAN Events Use StopRepeatingWave to stop playing the tone. This is shown in this example: Example 22.20 Stopping A Repeating Tone In C++ // The user responded, don't need to play the ring tone any more. // From the PsionTeklogix::Sound namespace. StopRepeatingWave(); Setting The Speaker Volume Use SetSpeakerVolume to control the volume of the speaker on the Psion Teklogix computer.
Chapter 22: Wireless Wide-Area Networking Voice Over WWAN API Elements 22.12.14.2 Voice Call Manager Incoming Call Event A voice call manager incoming call event is generated when a new voice call is received. Events are processed in the order that they are received. The application does not receive the next event until the handler returns from the previous one. For this reason, it is recommended that there is a lightweight handler that returns quickly. 22.12.
Chapter 22: Wireless Wide-Area Networking Data Coding Schemes For Phone Book Entries Example 22.21 Adding Contacts From A SIM Card To A Combo Box in C++ { number_combo.Items.Add(entry.GetName()); } } } } if (number_combo.Items.Count > 0) { number_combo.SelectedIndex = 0; } Writing Phone Book Entries To create a new phone book entry: • Use the AddPhonebookEntry method for the selected Phonebook object. A PhonebookEntry object representing the new phone book entry is returned.
Chapter 22: Wireless Wide-Area Networking Phone Book Types 22.13.2 Phone Book Types A SIM card or WWAN modem usually has several phone books stored on it, each containing a specific type of phone number. Each SIM or modem has a subset of the possible phone books. The following phone books types are identified and processed by the Mobile Devices SDK: Phone Book Type Description Regular Writable Features depend on the SIM or the modem.
Chapter 22: Wireless Wide-Area Networking Resource Materials 22.14 Resource Materials European Telecommunications Standards Institute (ETSI): Digital cellular telecommunications system (Phase 2+); Universal Mobile Telecommunications System (UMTS); Alphabets and language-specific information (3GPP TS 23.038 version 6.1.0 Release 6).
APPENDIX A RESOURCES A.1 Manuals and URLs Psion Teklogix USB Setup Utility Psion Teklogix Teknet: https://teknet.psionteklogix.com/ptxCMS/Teknet.aspx?s=us&p=SoftwareDownloads Microsoft Windows CE & Windows Mobile Microsoft Inc.: http://msdn.microsoft.com/en-us/library/ms376734.aspx Psion Teklogix SDKs Psion Teklogix. 2008. Psion Teklogix Mobile Devices SDK C++ API Reference Manual (Part number 8200104). Psion Teklogix. 2008. Psion Teklogix Mobile Devices SDK .
Appendix A: Resources Manuals and URLs N EO Hand-held Computer Psion Teklogix. 2008. NEO Hand-Help Computer User Manual (Part number 8100157) WORKABOUT PRO G2 Psion Teklogix. 2007. WORKABOUT PRO Hardware Development Kit User Manual (Part number 8100057) Psion Teklogix. 2007. WORKABOUT PRO G2 Windows Embedded CE 5.0 User Manual (Part number 8100140). Psion Teklogix. 2007. WORKABOUT PRO G2 Windows Mobile 6 User Manual (Part number 8100144). Psion Teklogix. 2009. WORKABOUT PRO G2 Windows Mobile 6.
Appendix A: Resources Manuals and URLs Wireless Wide-area Networking European Telecommunications Standards Institute (ETSI): Digital cellular telecommunications system (Phase 2+); Universal Mobile Telecommunications System (UMTS); Alphabets and language-specific information (3GPP TS 23.038 version 6.1.0 Release 6).
APPENDIX B REGISTRY KEYS B.1 WORKABOUT PRO Registry Keys B.1.1 Registry Settings For Controlling VGA The WORKABOUT PRO VGA settings are located in the following registry subkey: HKEY_LOCAL_MACHINE\Drivers\Display\NVDDI Registry Values QVGA mode (REG_DWORD) 00 = VGA non-zero = QVGA Note: This value is only available for the WORKABOUT PRO G2. B.1.2 Registry Settings For Controlling Scanner Power This registry key is in effect as long as there is no scanner or imager configured.
Appendix B: Registry Keys Registry Settings For Psion Teklogix Device Drivers Note: This value is only available for the WORKABOUT PRO G2. Index Setting this value moves the COM port to a different location. B.1.
Appendix B: Registry Keys Registry Settings For Non-Psion Teklogix Device Drivers B.1.5.1 Loading Non-Psion Teklogix Drivers At system startup the following process is used to load non-Psion Teklogix device drivers: 1.
INDEX .
Index Command insertion 62 Command key 62 Command syntax 5 COM ports Ikon 157 NEO 157 WORKABOUT PRO G2 155 7530/7535 156 8515 156 8525/8530 156 Composite Codes 88 Composite settings 132 Concatenation 116 Conference calls 216, 226 Configuring scanner properties 90 Configuring WLAN 187 Connecting WWAN 210 Connection Manager 76, 209 ConstantIllumination 96 ContinuousScanMode 93, 95 Control Panel 213 Conventions, text 4 Convert to Code 32 98 Convert to EAN 13 107, 109, 121 Convert to UPC-A 110, 112 Convert UPC
Index IATA 2 of 5 settings 128 iDEN 196, 197 Ikon COM ports 157 Imaging scanners 85, 86, 87 Incall supplementary services 216 Inc Country 103 Include Check 99, 121 Include Chk 97, 103, 106, 108, 110, 119, 120, 123, 126, 128 Include Sym 101 Inc Num Sys 108, 110 Indicators, LED 51 Interface event 67 Interleaved 2 of 5 87 Interleaved 2 of 5 settings 120 Intermec EV15 86 Intermec E1022 86 Internal scanners 86 Internet connection WWAN 205 Inverse Video Mode 141, 142 IrDA 155 ISBN Conversion 105 ISBN Translate 1
Index Non-chorded keyboard 57 Non-decoded scanners 85, 86, 87 NOTIS Editing 114 Number of colours, display 47 Number System 110, 112 Num Chk Digits 119 O Odyssey Access Client 187 One Chk Digits 123 OnlyDecodeCenter 95 Output 130 P Packages, Java 19 Packet data 197 Packet data status 210 PAP 75 Parameter Scanning 93 Password Authentication Protocol 75 PCMCIA Enabling socket B-2 PDF417 settings 135 Peripherals Events 67 Power modes 43 Permanent storage 71 Locking 71 Pharmaceutical 100 Phone books 230 Pist
Index Non-decoded 85, 86, 87 Unidentified 86 Scanner setting index 89 Scanner setting key 89 Scanner setting name 89 Scanning, bar codes 150 Scanning Mode 93, 94 Scan Result 91 Scan Result Time 91 Screen size 47 SCU 187 Security 92 Security, Windows 177 Security Level 113, 135 Serial port, virtual 194 Serial port events 157 Set PIN access flag 212 Set provisioned contexts access flag 212 Set register state access flag 212 Set suppress call notifications access flag 212 Shell, Windows 177 Short Code 92 Shor
Index Consumers 181 Control flags 182 Double-click 181 Events 183 Pistol grip 181 SCAN button 181 Source ID 181 Sources 181 Trioptic 98 Trioptic Code Settings 100 U UCC EAN 128 101 UMTS 196, 197 Unidentified scanners 86 UPC/EAN 87 UPC/EAN Shared Settings 113 UPC A 87 UPC-A Check Digit 108 UPC-A EAN-13 Extended Coupon Code 114 UPC and EAN composite message decoding 134 UPCA Preamble 108 UPC A settings 108 UPCA Transmit Check Digit 108 UPC E 87 UPC-E Check Digit 111 UPCE Enabled 111 UPCE Preamble 111 UPC E
Index Initialized 200 No SIM 200 Phone book ready 199 Shutdown 199 SMS store ready 200 Forwarding calls 227 Initialization 199, 202, 217 Initialization status 199 Initializing voice calls 217 Internet connection 205 Modems 193, 198 Multiplexing 194 Packet data 197 Phone books 230 PIN authentication 201 Roaming 210 RSSI 213 Supplementary services 216 Voice call 217, 220 Audio 228 Blocking calls 228 Call waiting 225 Conference calls 226 DTMF 228 Events 229 Held calls 226 Making 220 Multiparty calls 226 Proce