Intermec Technologies BTM210 Bluetooth Radio Module User Manual legal

Intermec Technologies Corporation Bluetooth Radio Module legal

User Manual 2 of 2

203700 Series Color Mobile Computer User’s Manual
Scanner Support
6
The 700 Series Color Mobile Computer is available with imaging or laser
scanning technologies, including the following:
APS Linear Imager:(standard for 730 Computers)
— includes the EV10 Scan Engine
Reads 1D symbologies and PDF417 bar codes. Linear
imaging using Vista Scanning technology reads low-con-
trast bar codes, laminated bar codes, and bar codes dis-
played on CRT or TRT displays. This imaging uses
harmless LEDs for illumination and does not require any
warning labels. Vista Scanning is more reliable than la-
sers as it is a completely solid state with no moving parts
or oscillating mirrors.
2D Imager:(not supported on 730 Computers)
— includes the IT4000 Scan Engine
This decodes several stacked 1D and 2D symbologies,
including PDF417, Data Matrix, and MaxiCode without
“painting.” It can also read 1D codes from any orienta-
tion, for example the scan beam does not need to align
perpendicular to the symbol to read it. Photography is a
secondary application; the lens in the device favors bar
code reading. Photos are 640x480, 256 gray-scale.
1D Laser Scanner:(not supported on 730 Computers)
— includes the SE900, SE900HS, SE900-S6, and
SE900HS-S6 scan engines
Traditional laser scanner that decodes 1D bar codes.
PDF417 Laser Scanner:(not supported on 730 Computers) Higher speed laser scanner that can read PDF417 labels
by “painting” the label.
A 700 Color Imager Demo application demonstrates the more common
features of the 700 Color Computer imager. See the Imager Demo V1.0
User’s Guide on the Intermec Developer’s Library CD for information.
Scanner SupportChapter —6
204 700 Series Color Mobile Computer User’s Manual
Scanner Control and Data Transfer
Note: To use the methods described below, enable Data Collection func-
tionality on the 700 Computer using the bootloader configuration menu.
The Data Server and associated software provide several ways to manipu-
late scanner control and data transfer between the scanner subsystem and
user applications:
SAutomatic Data Collection COM Interfaces:
These COM interfaces allow user applications to receive bar code data,
and configure and control the bar code reader engine.
SITCAxBarCodeReaderControl functions:
These ActiveX controls allow user applications to collect bar code data
from the scanner, to configure the scanner, and to configure audio and
visual notification when data arrives.
SITCAxReaderCommand functions:
Use these ActiveX controls to modify and retrieve configuration infor-
mation using the reader interface commands.
SScanning EasySet bar code labels:
You can use the EasySet
R
bar code creation software from Intermec
Technologies Corporation to print configuration labels. Scan the labels
to change the scanner configuration and data transfer settings.
For more information, see the SDK User’s Manual provided with your
Windows CE/PocketPC SDK.
EasySet Software
Use the Intermec EasySet software to print configuration labels you can
scan to change your configuration settings. For more information, see the
EasySet online help. EasySet is available from the Intermec Data Capture
web site.
6 Scanner SupportChapter
205700 Series Color Mobile Computer User’s Manual
Data Collection Configuration
For Units with PSM Builds Older than 3.00
Scanner settings for the 700 Series Computer can be configured via the
Data Collection control panel applet. From the 700 Series Computer, tap
Start >Settings >theSystem tab > Data Collection.SeeAppendix A,
Configurable Settings” for more information about the following parame-
ters. Note that these are in alphabetical order.
SCodabar (page 304)
SCode 11 (page 318)
SCode 128 (page 307)
SCode 128 Options (page 308)
SCode 128 FNC1 Character (page 309)
SCode 39 (page 302)
SCode 93 (page 306)
SCode 93 Length (page 306)
SData Matrix (page 320)
SInterleaved 2 of 5 (page 315)
SMatrix 2 of 5 (page 316)
SMaxiCode (page 321)
SMSI (page 311)
SPDF417 (page 312)
SMacro PDF (page 312)
SMicro PDF417 (page 314)
SPlessey (page 310)
SQR Code (page 319)
SStandard 2 of 5 (page 303)
STelepen (page 317)
SUPC/EAN (page 305)
For Units With PSM Build 3.00 or Newer
You can configure scanner settings for the 700 Series Computer via the
Intermec Settings control panel applet. From the 700 Series Computer,
tap Start >Settings >theSystem tab>theIntermec Settings icon. See the
Intermec Computer Command Reference Manual (P/N: 073529) for infor-
mation about the settings you can configure with this applet. This online
manual is available from the Intermec web site at www.intermec.com.
Scanner SupportChapter —6
206 700 Series Color Mobile Computer User’s Manual
Internal Scanners
The Intermec Internal Scanner feature allows Automatic Data Collection
(ADC) by accepting data from the COM1 port and wedging it into the
keyboard interface. You can enable or disable this feature from the Today
screen on the 700 Series Computer.
For Units With PSM Build 3.00 or Newer
Do the following before you configure your internal scanner from the In-
termec Settings control panel applet. Information about the settings you
can configure with this applet is described in the Intermec Computer Com-
mand Reference Manual. The online manual is available from the Intermec
web site at www.intermec.com.
1From the 700 Series Computer, tap Start >Settings >theSystem tab >
the Intermec Settings icon.
2Double-tap the Scanners, Symbologies folder, then expand (+) the
Internal Scanner option. This sample screen is for the IT4000 scan engine.
6 Scanner SupportChapter
207700 Series Color Mobile Computer User’s Manual
Scanner and Imager Settings
Depending on what is selected as the scanner model, image settings, de-
code security, scanner settings, and virtual wedge are configured from the
Intermec Settings applet. See the the Intermec Computer Command Refer-
ence Manual, available from the Intermec web site at www.intermec.com,
for more information about each enabled option.
Internal Scanner Supported Symbologies
See the following table for a guideline and Appendix B, “Bar Code Symbol-
ogies” for more information on each supported symbology:
Symbologies EV10 IT4000 SE900 SE900HS SE900-S6 SE900HS-S6
Code39 XX X X X X
UPC/EAN X X X X X X
Code 128 XX X X X X
Interleaved 2 of 5 X X X X X X
Code 93 XX X X X X
Codabar X X X X X X
Code 2 of 5 XX X X X X
MSI X X X X X X
Plessey XX X X X X
Code 11 X X X X X X
Matrix 2 of 5 XX X X X X
Telepen X X X X X X
PDF417 XX X X X X
Micro PDF417 X X X X X X
MaxiCode X
Data Matrix X
QR Code X
RSS 14 X X X X Available in f/w
Sxxp304
Available in f/w
Sxxp304
RSS Limited XX X XAvailableinf/w
Sxxp304
Available in f/w
Sxxp304
RSS Expanded X X X X Available in f/w
Sxxp304
Available in f/w
Sxxp304
Codablock A XX X X X X
Codablock F X X X X X X
UCC Composite X
Scanner SupportChapter —6
208 700 Series Color Mobile Computer User’s Manual
Tethered Scanners
The Intermec Tethered Scanner feature allows Automatic Data Collection
(ADC) by accepting data from the COM1 port and wedging it into the
keyboard interface. You can enable or disable this feature from the Today
screen on the 700 Series Computer.
The following information is divided between units with PSM Builds old-
er than 3.00 (next paragraph) or units with PSM Builds 3.00 or newer
(starting on page 213).
For Units With PSM Builds Older than 3.00
Enabling and Disabling
On the 700 Series Computer, tap Start >Today. Tap the bar code scanner
icon in the System Tray (circled below). Initially, the bar code scanner icon
indicates that this feature is disabled (shown to the left).
SSelect Comm Port Wedge to send any data, coming into the 700 Series
Computer through the COM1 port from an external input device, as
keyboard data to an application on the desktop.
For example, if you have Pocket Word running on your 700 Series
Computer desktop, information scanned with a scanner connected to
the COM1 port appears in the Word document. If another data collec-
tion application is running and is active on the 700 Series Computer,
the scanned information appears in that application.
Note: When Comm Port Wedge is selected, regardless of the data sent
by the external input device, you cannot control the device or the data
format using any of the Intermec scanner control or data transfer APIs
from the SDK or the internal Data Collection software. The external
inputdeviceisgovernedbywhatsoftwareithasonboardtotellithow
to scan, take pictures, or send the data elsewhere.
6 Scanner SupportChapter
209700 Series Color Mobile Computer User’s Manual
SSelect 1551/1553 to enable the Sabre 1551E or 1553 Tethered Scanner
to scan, then send data as keyboard data. The 1551/1553 Tethered
Scanner has software onboard that translates scanned data into charac-
ters, so the running/active application does not need to know how to do
that. All the scanner control and data transfer APIs will work with the
1551/1553 Tethered Scanner, so you can control the device.
SSelect Disable All to disable this feature and use the COM1 port for
another application, such as ActiveSync. An error message will result if
this option were not selected, but this action was attempted. Similarly, if
ActiveSync is using the COM1 port, and you select Comm Port Wedge
or 1551/1553, an error message will result. See “Error Message”for
more information.
Error Message
If the COM1 port is used by another application, such as ActiveSync, nei-
ther the Comm Port Wedge nor the 1551/1553 Tethered Scanner can be
enabled. As a result, the following message may appear. Note that this mes-
sage is for the Comm Port Wedge. You must disable that application to free
uptheCOM1portbeforeyoucanenableeitherthewedgeorthescanner.
Changing Comm Settings
Tap Change Comm Settings to configure the settings for the COM1
port. Current settings are restored after a warm-boot is performed, but are
lost after a cold-boot is performed. When these settings are not changed,
the OK button is disabled (grayed out). When changes are made, tap OK
after it is enabled to accept these changes.
SBaud Rate: 1200, 2400, 4800, 9600, 19200, 38400, 57600,
115200
SData Bits:7or8
SParity: None, Odd, Even, Mark, Space
SStop Bits:1or2
SFlow Control: None or Hardware
Scanner SupportChapter —6
210 700 Series Color Mobile Computer User’s Manual
Tethered Scanner
Default settings for the Tethered Scanner are shown in this illustration:
Sabre 1551E or 1553 Tethered Scanner
The default communication configuration for the Sabre 1551E or 1553
Tethered Scanner is shown in the following illustration. Scan the EasySet
Reset Factory Defaults label to set the Sabre 1551E or 1553 tethered scan-
ner communications settings to this configuration. The COM1 port con-
figuration settings must also match those of the scanner to scan labels.
Welch Allyn 1470 Imager Settings
You can set the Welch Allyn 1470 Imager to this configuration by scan-
ning the Factory Default Settings label.
6 Scanner SupportChapter
211700 Series Color Mobile Computer User’s Manual
Scanner Cabling
A null modem cable is required for the Welch Allyn 1470 Imager to com-
municate with the 700 Series Computer when using the 700 Series Serial
Cable (P/N: 226-999-001).
Sabre 1551E / 1553 Cables connect directly to the Model 700 COM Port.
Limitations and Capabilities
The Tethered Scanner has the following limitations:
SNo auto detection of a scanner’s physical connection to COM1 port.
User needs to ensure the communication settings of COM1 port
matched the settings of the device.
SThe Pocket PC Pocket Office applications misbehave when control
characters such as carriage return are wedged. This is a known Pocket
PC problem, which is being worked with Microsoft and for which a
work around is being developed.
SCommunications port is COM1 and cannot be changed.
SA complete bar code label is detected when the time between bytes (the
inter-byte gap) exceeds 100 ms. This allows that data could be concate-
nated if two labels were received while the Comm Port Wedge or the
1551/1553 Tethered Scanner was not performing a read. That is, it
could be wedging data just read or the read thread could be preempted.
Also, the labels could appear concatenated if the scanner itself were to
buffer the labels before transmitting them.
When enabled, the “Comm Port Wedge” menu option has this limitation:
SThereisnobarcodeAPItogetbarcodedatafromthebarcodescan-
ner. The Comm Port Wedge transmits the data through the keyboard
interface only.
When enabled, the “1551/1553” menu option has these capabilities:
SGrid Data Editing is available.
SThe source of the symbology configurations is only available via the
Easy Set command labels. You can only configure the Virtual Wedge
configurations via the Data Collection control panel applet Virtual
Wedge page. See Appendix A, “Configurable Settings,” for information.
SMay transmit the data through the keyboard interface (via the Virtual
Wedge).
Scanner SupportChapter —6
212 700 Series Color Mobile Computer User’s Manual
SThe bar code APIs, defined in the IADC interface, are available to get
barcodedatafromthebarcodescanner.Thefollowingexampleshows
how to programmatically collects bar code data:
#include “IADC.h” // Linked with ITCUUID.LIB
#include “ITCAdcMgmt.h” // Linked with ITCAdcDevMgmt.lib
IADC* pIADC;
HRESULT hrStatus = S_OK;
// Create a ADC COM interface to collect bar code data from the 1551E/1553
// when the 1551/1553 menu option is enabled.
hrStatus =
ITCDeviceOpen(TEXT(“ExtScanner”), // Name of the ADC device.
IID_IADC, // COM interface to return
ITC_DHDEVFLAG_READAHEAD, // Device’s Flags
(LPVOID *) &pIADC); // the returned interface
if( SUCCEEDED(hrStatus) )
{
BYTE byteBuffer[MAX_LABEL_SIZE];
DWORD dwLength = 0;
HRESULT hr = pIDC->Read(
byteBuffer, // Buffer to put the ADC data.
MAX_LABEL_SIZE, // Size of pDataBuffer in bytes.
&dwLength, // Number bytes returned.
NULL, // Time stamp of the received data. NULL.
INFINITE // Number of milliseconds to wait.
);
}when done using this COM interface, delete it:
ITCDeviceClose( (IUnknown **) pIADC);
6 Scanner SupportChapter
213700 Series Color Mobile Computer User’s Manual
For Units With PSM Build 3.00 or Newer
Configuring the Tethered Scanner
Do the following before you configure your tethered scanner from the In-
termec Settings control panel applet. Information about the settings you
can configure with this applet is described in the Intermec Computer Com-
mand Reference Manual.TheonlinemanualisavailablefromtheIntermec
web site at www.intermec.com.
1Connect your tethered scanner to the tethered scanner port.
2From the 700 Series Computer, tap Start >Settings >theSystem tab >
the Intermec Settings icon.
3Double-tap the Scanners, Symbologies folder, then expand (+) the
Tethered Scanner option.
Scanner SupportChapter —6
214 700 Series Color Mobile Computer User’s Manual
4Tap the Scanner model option for a drop-down list, then select the ap-
plicable scanner, such as “1551E” or “1553” in this sample screen.
5Make sure a scanner is connected to your 700 Computer properly.
Then, tap to check Scanner Port State,thentapFile >Save Settings
from the bottom of the screen. These changes will take several moments
to reset.
6 Scanner SupportChapter
215700 Series Color Mobile Computer User’s Manual
1551E or 1553 Selected for Scanner Model
When “1551E” or “1553” is selected from the Scanner model option (see
step 4 above), and the port state is already enabled (see step 5),theprocess
will take several moments to reset. When 1551E or 1553 is successfully
connected during this step, the unit will emit some beeps. Here, the termi-
nal is initializing the scanner at 9600 for the baud rate, 7 data bits, even
parity, and 2 stop bits and synchronizing the terminal’s configuration with
the attached scanner.
With “1551E” or “1553” selected, Symbologies, Symbology Options,
Hardware Trigger, and Scanner Port settings are configured from the In-
termec Settings applet. See the the Intermec Computer Command Reference
Manual, available from the Intermec web site at www.intermec.com, for
more information about each enabled option.
ASCII Selected for Scanner Model
To send data coming into the 700 Series Computer through the COM1
port from an external input device, as keyboard data to an application on
the desktop, do the following:
1Select “ASCII” from the Scanner model option.
2Tap to check Scanner Port State.
3Tap File >Save Settings from the bottom of the screen.
With “ASCII” selected, Symbology Options, Hardware Trigger, and Scan-
ner Port settings are configured from the Intermec Settings applet. See the
the Intermec Computer Command Reference Manual,availablefromtheIn-
termec web site at www.intermec.com, for more information about each
enabled option.
Scanner SupportChapter —6
216 700 Series Color Mobile Computer User’s Manual
Note: When selecting either the 1551E or the 1553 Scanner or enabling
the scanner port for these scanners, the 700 Computer tries to communi-
cate with the attached scanner. If the scanner is not powered, if the cable is
not connected properly, the wrong cable is used, or if the scanner firmware
is older than 2.0, and the “Failed to save one or more settings” message
appears, then this step failed.
This process can take time as the terminal is going through a group of
RS-232 settings to communicate with the scanner. After successful com-
municated with the scanner (about eight beeps are generated), it initializes
the scanner with the 700 Computer’s current settings. This process might
generate a series of beeps pending on the firmware version installed in the
scanner. These beeps are suppressed in firmware versions 2.08 or greater.
Troubleshooting the 1551E/1553 Tethered Scanner
Do the following to troubleshoot your 1551/1553 Tethered Scanner:
1Ensure the correct cable is used for the scanner on the tethered scanner
port. Note the 700 Computer cannot supply power to the scanner.
2Perform a quick test to determine whether the connection is good.
Temporary select the scanner model as “ASCII,” then enable the scan-
ner port state. Go to a command prompt or a notepad and scan a data
label. If a label is wedged into the command prompt or notepad, then
the connection is good.
3If step 2 passes, reset the scanner configurations to their defaults (scan
the Reset Factory Defaults label on the next page) to prevent miscom-
munication, then reenable the scanner port state.
4If step 2 fails, then the firmware installed in the tethered scanner may be
older than version 2.0. Upgrade your scanner firmware.
Reset Factory Defaults
Scan the EasySet software bar code label “Reset Factory Default” to restore
all of your scanner’s configurations to their factory defaults. When this
command label is scanned, reinitialize the tethered scanner (such as disable
the scanner port state, then enable it) on the 700 Computer. Otherwise,
the online configuration and scanning on the 700 Computer are not func-
tional. In general, scan this label only to initially reset the scanner.
Do not scan EasySet command labels to change the following settings:
SSymbologies code mark SCode 128, EAN29 Identifier
SPreamble and Postamble SEnable/Disable symbologies
SSymbology ID transmit option
In some cases, scanning EasySet Command labels cause the current setting
on the user interface to be out of sync with the scanner settings. However,
in some cases, scanning these labels does corrupt scanned data.
The “Open COMx error: 0x00000037” message appears if the COM port
cannot open due to another application using the port. Disable that ap-
plication to free up the COM1 port before you can enable the scanner. “x”
istheCOMportnumber,suchas1,2,or3.
6 Scanner SupportChapter
217700 Series Color Mobile Computer User’s Manual
Tethered Scanner Supported Symbologies
The user interface may allow configuration of PDF417, Micro PDF417,
RSS, and Codablock bar code symbologies. However, these symbologies
are dependant on what scanner models and firmware versions are in use.
See the following table for a guideline and Appendix B, “Bar Code Symbol-
ogies” for more information on each supported symbology:
You can use a generic ASCII scanner with the 700 Computer. Pending on
the scanner, linear symbologies such as Code39, should decode correctly.
However, 2D symbologies such as PDF417 may not decode correctly.
Symbologies 1551E 1553
Code39 XX
UPC/EAN X X
Code 128 XX
Interleaved 2 of 5 X X
Code 93 XX
Codabar X X
Code 2 of 5 XX
MSI X X
Plessey XX
Code 11 X X
Matrix 2 of 5 XX
Telepen X X
PDF417 Available in 1551 0808 PDF
Micro PDF417 Available in 1551 0808 PDF, Sxxp217_ or later
MaxiCode
Data Matrix
QR Code
RSS 14 F/w version 2.15 or later F/w version 2.15 or later
RSS Limited F/w version 2.15 or later F/w version 2.15 or later
RSS Expanded F/w version 2.15 or later F/w version 2.15 or later
Codablock A Available in 1551 0808 PDF
Codablock F Available in 1551 0808 PDF
UCC Composite
Scanner SupportChapter —6
218 700 Series Color Mobile Computer User’s Manual
219700 Series Color Mobile Computer User’s Manual
Programming
7
The following programming information pertains to the 700 Series Color
Mobile Computer:
SCreating CAB Files (page 220)
SCustomization and Lockdown (page 237)
SFTP Server (page 239)
SKernel I/O Control Functions (page 247)
SNetwork Selection APIs (page 263)
SNotifications (page 286)
SReboot Functions (page 288)
SRemapping the Keypad (page 289)
ProgrammingChapter —7
220 700 Series Color Mobile Computer User’s Manual
Creating CAB Files
The Windows CE operating system uses a .CAB file to install an applica-
tion on a Windows CE-based device. A .CAB file is composed of multiple
files that are compressed into one file. Compressing multiple files into one
file provides the following benefits:
SAll application files are present.
SA partial installation is prevented.
SThe application can be installed from several sources, such as a desktop
computer or a Web site.
Use the CAB Wizard application (CABWIZ.EXE) to generate a .CAB file
foryourapplication.
Creating Device-Specific CAB Files
Do the following to create a device-specific .CAB file for an application, in
the order provided:
1Create an .INF file with Windows CE-specific modifications (page
220).
2Optional Create a SETUP.DLL file to provide custom control of the
installation process (page 232).
3UsetheCABWizardtocreatethe.CABfile,usingthe.INFfile,the
optional SETUP.DLL file, and the device-specific application files as
parameters (page 235).
Creating an .INF File
An .INF file specifies information about an application for the CAB Wi-
zard. Below are the sections of an .INF file:
[Version]
This specifies the creator of the file, version, and other relevant informa-
tion.
Required? Yes
SSignature:“signature_name
“$Windows NT$”
SProvider:“INF_creator
The company name of the application, such as “Microsoft.
SCESignature
“$Windows CE$”
Example
[Version]
Signature = “$Windows NT$”
Provider = “Intermec”
CESignature = “$Windows CE$”
ProgrammingChapter 7
221700 Series Color Mobile Computer User’s Manual
[CEStrings]
This specifies string substitutions for the application name and the default
installation directory.
Required? Yes
SAppName:app_name
Name of the application. Other instances of %AppName% in the .INF
file are replaced with this string value, such as RP32.
SInstallDir:default_install_dir
Default installation directory on the device. Other instances of %Install-
Dir% in the .INF file are replaced with this string value. Example:
\SDMMC_Disk\%AppName%
Example
[CEStrings]
AppName=“Game Pack”
InstallDir=%CE1%\%AppName%
[Strings]
This section is optional and defines one or more string keys. A string key
represents a string of printable characters.
Required? No
Sstring_key:value
String consisting of letters, digits, or other printable characters. Enclose
value in double quotation marks ““”” if the corresponding string key is
used in an item that requires double quotation marks. No string_keys is
okay.
Example
[Strings]
reg_path = Software\Intermec\My Test App
ProgrammingChapter —7
222 700 Series Color Mobile Computer User’s Manual
[CEDevice]
Describes the platform for the targeted application. All keys in this section
are optional. If a key is nonexistent or has no data, Windows CE does not
perform any checking with the exception being UnsupportedPlatforms.If
the UnsupportedPlatforms key exists but no data, the previous value is not
overridden.
Required? Yes
SProcessorType :processor_type
The value that is returned by SYSTEMINFO.dwProcessorType.For
example, the value for the ARM CPU is 2577
SUnsupportedPlatforms:platform_family_name
This lists known unsupported platform family names. If the name
specified in the [CEDevice.xxx] section is different from that in the
[CEDevice] section, both platform_family_name values are unsupported
for the microprocessor specified by xxx. That is, the list of unsupported
platform family names is appended to the previous list of unsupported
names. Application Manager will not display the application for an
unsupported platform. Also, a user will be warned during the setup
process if the .CAB file is copied to an unsupported device.
Example
[CEDevice]
UnsupportedPlatforms = pltfrm1 ; pltfrm1 is unsupported
[CEDevice.SH3]
UnsupportedPlatforms = ; pltfrm1 is still unsupported
SVersionMin:minor_version
Numeric value returned by OSVERSIONINFO.dwVersionMinor. The
.CAB file is valid for the currently connected device if the version of
this device is greater than or equal to VersionMin.
SVersionMax:major_version
Numeric value returned by OSVERSIONINFO.dwVersionMajor. The
.CAB file is valid for the currently connected device if the version of
this device is less than or equal to VersionMax.
SBuildMin:build_number
Numeric value returned by OSVERSIONINFO.dwBuildNumber. The
.CAB file is valid for the currently connected device if the version of
this device is greater than or equal to BuildMin.
SBuildMax:build_number
Numeric value returned by OSVERSIONINFO.dwBuildNumber. The
.CAB file is valid for the currently connected device if the version of
this device is less than or equal to BuildMax.
ProgrammingChapter 7
223700 Series Color Mobile Computer User’s Manual
Example
The following code example shows three [CEDevice] sections: one that
gives basic information for any CPU and two that are specific to the SH3
and the MIPS microprocessors.
[CEDevice] ; A “template” for all platforms
UnsupportedPlatforms = pltfrm1 ; Does not support pltfrm1
; The following specifies version 1.0 devices only.
VersionMin = 1.0
VersionMax = 1.0
[CEDevice.ARM] ; Inherits all [CEDevice] settings
; This will create a .CAB file specific to ARM devices.
ProcessorType = 2577 ; ARM .cab file is valid for ARM microprocessors.
UnsupportedPlatforms = ; pltfrm1 is still unsupported
; The following overrides the version settings so that no version checking is
performed.
VersionMin =
VersionMax =
[CEDevice.MIPS] ; Inherits all [CEDevice] settings
; This will create a .CAB file specific to “MIPS” devices.
ProcessorType = 4000 ; MIPS .CAB file is valid for MIPS
microprocessor.
UnsupportedPlatforms =pltfrm2 ; pltfrm1,pltfrm2 unsupported for MIPs .CAB
file.
Note:TocreatethetwoCPU-specific.CABfilesfortheSETUP.INFfile
in the previous example, run the CAB Wizard with the “/cpu arm mips”
parameter.
ProgrammingChapter —7
224 700 Series Color Mobile Computer User’s Manual
[DefaultInstall]
This describes the default installation of your application. Note that under
this section, you will list items expanded upon later in this description.
Required? Yes
SCopyfiles:copyfile_list_section
Maps to files defined later in the .INF file, such as Files.App, Files.Font,
and Files.Bitmaps.
SAddReg:add_registry_section
Example: RegSettings.All
SCEShortcuts:shortcut_list_section
String that identifies one more section that defines shortcuts to a file, as
defined in the [CEShortcuts] section.
SCESetupDLL:setup_DLL
Optimal string that specifies a SETUP.DLL file. It is written by the In-
dependent Software Vendor (ISV) and contains customized functions
for operations during installation and removal of the application. The
file must be specified in the [SourceDisksFiles] section.
SCESelfRegister:self_reg_DLL_filename
String that identifies files that self-register by exporting the DllRegister-
Server and DllUnregisterServer Component Object Model (COM)
functions. Specify these files in the [SourceDiskFiles] section. During
installation, if installation on the device fails to call the file’s exported
DllRegisterServer function, the file’s exported DllUnregisterServer
function will not be called during removal.
Example
[DefaultInstall]
AddReg = RegSettings.All
CEShortcuts = Shortcuts.All
[SourceDiskNames]
This section describes the name and path of the disk on which your ap-
plication resides.
Required? Yes
Sdisk_ordinal:disk_label,,path
1=,“App files” , C:\Appsoft\RP32\...
2=,“Font files”,,C:\RpTools\...
3=,“CE Tools” ,,C:\windows ce tools...
SCESignature: “$Windows CE$”
Example
[SourceDisksNames] ; Required section
1 = ,“Common files”,,C:\app\common ; Using an absolute path
[SourceDisksNames.SH3]
2 = ,“SH3 files”,,sh3 ; Using a relative path
[SourceDisksNames.MIPS]
2 = ,“MIPS files”,,mips ; Using a relative path
ProgrammingChapter 7
225700 Series Color Mobile Computer User’s Manual
[SourceDiskFiles]
This describes the name and path of the files in which your application
resides.
Required? Yes
Sfilename:disk_number[,subdir]
RPM.EXE = 1,c:\appsoft\...
WCESTART.INI = 1
RPMCE212.INI = 1
TAHOMA.TTF = 2
Note:[,subdir] is relative to the location of the INF file.
Example
[SourceDisksFiles] ; Required section
begin.wav = 1
end.wav = 1
sample.hlp = 1
[SourceDisksFiles.SH3]
sample.exe = 2 ; Uses the SourceDisksNames.SH3 identification of 2.
[SourceDisksFiles.MIPS]
sample.exe = 2 ; Uses the SourceDisksNames.MIPS identification of 2.
ProgrammingChapter —7
226 700 Series Color Mobile Computer User’s Manual
[DestinationDirs]
This describes the names and paths of the destination directories for the
application on the target device. Note Windows CE does not support directo-
ry identifiers.
Required? Yes
Sfile_list_section:0,subdir
String that identifies the destination directory. The following list shows
the string substitutions supported by Windows CE. Use these only for
the beginning of the path. \
%CE1% \Program Files
%CE2% \Windows
%CE3% \My Documents
%CE4% \Windows\Startup
%CE5% \My Documents
%CE6% \Program Files\Accessories
%CE7% \Program Files\Communication
%CE8% \Program Files\Games
%CE9% \Program Files\Pocket Outlook
%CE10% \Program Files\Office
%CE11% \Windows\Start Menu\Programs
%CE12% \Windows\Start Menu\Programs\Accessories
%CE13% \Windows\Start Menu\Programs\Communications
%CE14% \Windows\Start Menu\Programs\Games
%CE15% \Windows\Fonts
%CE16% \Windows\Recent
%CE17% \Windows\Start Menu
%InstallDir%
Contains the path to the target directory selected during installation. It
is declared in the [CEStrings] section
%AppName%
Contains the application name defined in the [CEStrings] section.
Example
[DestinationDirs]
Files.Common = 0,%CE1%\My Subdir ; \Program Files\My Subdir
Files.Shared = 0,%CE2% ; \Windows
ProgrammingChapter 7
227700 Series Color Mobile Computer User’s Manual
[CopyFiles]
This section, under the [DefaultInstall] section, describes the default files
to copy to the target device. Within the [DefaultInstall] section, files were
listed that must be defined elsewhere in the INF file. This section identi-
fies that mapping and may contain flags.
Required? Yes
Scopyfile_list_section:destination_filename,[source_filename]
The source_filename parameter is optional if it is the same as destina-
tion_filename.
Scopyfile_list_section:flags
Thenumericvaluethatspecifiesanactiontobedonewhilecopyingfi-
les. The following table shows values supported by Windows CE.
Flag Value Description
COPYFLG_WARN_IF_SKIP 0x00000001 Warn user if skipping a file is attempted after error.
COPYFLG_NOSKIP 0x00000002 Do not allow a user to skip copying a file.
COPYFLG_NO_OVERWRITE 0x00000010 Do not overwrite files in destination directory.
COPYFLG_REPLACEONLY 0x00000400 Copy the source file to the destination directory only if the
file is already in the destination directory.
CE_COPYFLG_NO_DATE_DIALOG 0x20000000 Do not copy files if the target file is newer.
CE_COPYFLG_NODATECHECK 0x40000000 Ignore date while overwriting the target file.
CE_COPYFLG_SHARED 0x80000000 Create a reference when a shared DLL is counted.
Example
[DefaultInstall.SH3]
CopyFiles = Files.Common, Files.SH3
[DefaultInstall.MIPS]
CopyFiles = Files.Common, Files.MIPS
ProgrammingChapter —7
228 700 Series Color Mobile Computer User’s Manual
[AddReg]
This section, under the [DefaultInstall] section, is optional and describes
the keys and values that the .CAB file adds to the device registry. Within
the [DefaultInstall] section, a reference may have been made to this
section, such as “AddReg=RegSettings.All”. This section defines the
options for that setting.
Required? No
Sadd_registry_section:registry_root_string
String that specifies the registry root location. The following list shows
thevaluessupportedbyWindowsCE.
SHKCR Same as HKEY_CLASSES_ROOT
SHKCU Same as HKEY_CURRENT_USER
SHKLM Same as HKEY_LOCAL_MACHINE
Sadd_registry_section:value_name
Registryvaluename.Ifempty,the“default”registryvaluenameisused.
Sadd_registry_section:flags
Numeric value that specifies information about the registry key. The
following table shows the values that are supported by Window CE.
Flag Value Description
FLG_ADDREG_NOCLOBBER 0x00000002 If the registry key exists, do not overwrite it. Can be used
with any of the other flags in this table.
FLG_ADDREG_TYPE_SZ 0x00000000 REG_SZ registry data type.
FLG_ADDREG_TYPE_MULTI_SZ 0x00010000 REG_MULTI_SZ registry data type. Value field that follows
can be a list of strings separated by commas.
FLG_ADDREG_TYPE_BINARY 0x00000001 REG_BINARY registry data type. Value field that follows
must be a list of numeric values separated by commas, one
byte per field, and must not use the 0x hexadecimal prefix.
FLG_ADDREG_TYPE_DWORD 0x00010001 REG_DWORD data type. The noncompatible format in the
Win32 Setup .INF documentation is supported.
Example
AddReg = RegSettings.All
[RegSettings.All]
HKLM,%reg_path%,,0x00000000,alpha ; <default> = “alpha”
HKLM,%reg_path%,test,0x00010001,3 ; Test = 3
HKLM,%reg_path%\new,another,0x00010001,6 ; New\another = 6
ProgrammingChapter 7
229700 Series Color Mobile Computer User’s Manual
[CEShortCuts]
This section, a Windows CE-specific section under the [DefaultInstall]
section, is optional and describes the shortcuts that the installation applica-
tion creates on the device. Within the [DefaultInstall] section, a reference
may have been made to this section, such as “ShortCuts.All”. This section
defines the options for that setting.
Required? No
Sshortcut_list_section:shortcut_filename
String that identifies the shortcut name. It does not require the .LNK
extension.
Sshortcut_list_section:shortcut_type_flag
Numeric value. Zero or empty represents a shortcut to a file; any non-
zero numeric value represents a shortcut to a folder.
Sshortcut_list_section:target_file_path
String value that specifies the destination location. Use the target file
name for a file, such as MyApp.exe, that must be defined in a file copy
list. For a path, use a file_list_section name defined in the [Destination-
Dirs] section, such as DefaultDestDir,orthe%InstallDir% string.
Sshortcut_list_section:standard_destination_path
Optional string value. A standard %CEx% path or %InstallDir%.Ifno
value is specified, the shortcut_list_section name of the current section or
the DefaultDestDir value from the [DestinationDirs] section is used.
Example
CEShortcuts = Shortcuts.All
[Shortcuts.All]
Sample App,0,sample.exe ; Uses the path in DestinationDirs. Sample
App,0,sample.exe,%InstallDir% ; The path is explicitly specified.
Sample .INF File
[Version] ; Required section
Signature = “$Windows NT$”
Provider = “Intermec Technologies Corporation”
CESignature = “$Windows CE$”
;[CEDevice]
;ProcessorType =
[DefaultInstall] ; Required section
CopyFiles = Files.App, Files.Fonts, Files.BitMaps, Files.Intl,
Files.TelecomNcsCE, Files.Windows, Files.Import, Files.Export, Files.Work,
Files.Database, Files.WinCE AddReg = RegSettings.All ;CEShortcuts =
Shortcuts.All
[SourceDisksNames] ; Required section
1 = ,“App files” ,,c:\appsoft\...
2 = ,”Font files” ,,c:\WinNT\Fonts
3 = ,”CE Tools” ,,c:\windows ce tools\wce400\700ie\mfc\lib\x86
[SourceDisksFiles] ; Required section
rpm.exe = 1,C:\Appsoft\program\wce400\WCEX86Rel700
wcestart.ini = 1
ProgrammingChapter —7
230 700 Series Color Mobile Computer User’s Manual
rpmce212.ini = 1
intermec.bmp = 1
rpmlogo.bmp = 1
rpmname.bmp = 1
import.bmp = 1
export.bmp = 1
clock.bmp = 1
printer.bmp = 1
filecopy.bmp = 1
readme.txt = 1
lang_eng.bin = 1
rpmdata.dbd = 1,database\wce1
tahoma.ttf = 2
mfcce212.dll = 3
olece212.dll = 3
olece211.dll = 1,c:\windows ce tools\wce400\NMSD61102.11\mfc\lib\x86
rdm45wce.dll = 1,c:\rptools\rdm45wce\4_50\lib\wce400\wcex86rel
picfmt.dll = 1,c:\rptools\picfmt\1_00\wce400\wcex86rel6110
fmtctrl.dll = 1,c:\rptools\fmtctrl\1_00\wce400\wcex86rel6110
ugrid.dll = 1,c:\rptools\ugrid\1_00\wce400\wcex86rel6110
simple.dll = 1,c:\rptools\pspbm0c\1_00\wce400\wcex86rel
psink.dll = 1,c:\rptools\psink\1_00\wce400\WCEX86RelMinDependency
pslpwce.dll =1,c:\rptools\pslpm0c\1_00\wce400\WCEX86RelMinDependency
npcpport.dll = 1,c:\rptools\cedk\212_03\installable drivers\printer\npcp
;dexcom.dll = 1,c:\rptools\psdxm0c\1_00\x86
ncsce.exe = 1,c:\rptools\ncsce\1_04
nrinet.dll = 1,c:\rptools\ncsce\1_04
[DestinationDirs] ; Required section
;Shortcuts.All = 0,%CE3% ; \Windows\Desktop
Files.App = 0,%InstallDir%
Files.DataBase = 0,%InstallDir%\DataBase
Files.BitMaps = 0,%InstallDir%\Bitmaps
Files.Fonts = 0,%InstallDir%\Fonts
Files.Intl = 0,%InstallDir%\Intl
Files.TelecomNcsCE = 0,%InstallDir%\Telecom\NcsCE
Files.Windows = 0,%InstallDir%\Windows
Files.Import = 0,%InstallDir%\Import
Files.Export = 0,%InstallDir%\Export
Files.Work = 0,%InstallDir%\Work
Files.WinCE = 0,\storage_card\wince
[CEStrings] ; Required section
AppName = Rp32
InstallDir = \storage_card\%AppName%
[Strings] ; Optional section
;[Shortcuts.All]
;Sample App,0,sample.exe ; Uses the path in DestinationDirs.
;Sample App,0,sample.exe,%InstallDir% ; The path is explicitly specified.
[Files.App]
rpm.exe,,,0
rpm.ini,rpmce212.ini,,0
mfcce212.dll,,,0
olece212.dll,,,0
olece211.dll,,,0
rdm45wce.dll,,,0
picfmt.dll,,,0
ProgrammingChapter 7
231700 Series Color Mobile Computer User’s Manual
fmtctrl.dll,,,0
ugrid.dll,,,0
simple.dll,,,0
psink.dll,,,0
pslpwce.dll,,,0
npcpport.dll,,,0
;dexcom.dll,,,0
[Files.DataBase]
rpmdata.dbd,,,0
[Files.Fonts]
tahoma.ttf,,,0
[Files.BitMaps]
intermec.bmp,,,0
rpmlogo.bmp,,,0
rpmname.bmp,,,0
import.bmp,,,0
export.bmp,,,0
clock.bmp,,,0
printer.bmp,,,0
filecopy.bmp,,,0
[Files.Intl]
lang_eng.bin,,,0
[Files.TelecomNcsCE]
ncsce.exe,,,0
nrinet.dll,,,0
[Files.Windows]
readme.txt,,,0
[Files.Import]
readme.txt,,,0
[Files.Export]
readme.txt,,,0
[Files.Work]
readme.txt,,,0
[Files.WinCE]
wcestart.ini,,,0
[RegSettings.All]
HKLM,”SOFTWARE\Microsoft\Shell\AutoHide”,,0x00010001,1
; Autohide the taskbar HKLM,”SOFTWARE\Microsoft\Shell\OnTop”,,0x00010001,0
; Shell is not on top
HKLM,”SOFTWARE\Microsoft\Clock”,SHOW_CLOCK,0x00010001,0
; Clock is not on taskbar
ProgrammingChapter —7
232 700 Series Color Mobile Computer User’s Manual
Using Installation Functions in SETUP.DLL
SETUP.DLL is an optional file that enables you to perform custom opera-
tions during installation and removal of your application. The following
list shows the functions that are exported by SETUP.DLL.
Install_Init Called before installation begins. Use this function to check the application version when reinstal-
ling an application and to determine if a dependent application is present.
Install_Exit Called after installation is complete. Use this function to handle errors that occur during applica-
tion installation.
Uninstall_Init Called before the removal process begins. Use this function to close the application, if the applica-
tion is running.
Uninstall_Exit Called after the removal process is complete. Use this function to save database information to a
file and delete the database and to tell the user where the user data files are stored and how to rein-
stall the application.
Note;Use[DefaultInstall] >CESelfRegister (page 224) in the .INF file to
point to SETUP.DLL.
After the CAB File Extraction
Cab files that need to cause a warm reset after cab extraction will need to
create the __RESETMEPLEASE__.TXT file in the “\Windows” directory.
The preferred method to create this file is within the DllMain portion of
theSETUP.DLLfile.Itlookslikethis:
#include <windows.h>
#include <Tlhelp32.h>
#include <winioctl.h>
#include <ce_setup.h> // in the public SDK dir
#define IOCTL_TERMINAL_RESET CTL_CODE (FILE_DEVICE_UNKNOWN,FILE_ANY_ACCESS,
2050, METHOD_NEITHER)
BOOL APIENTRY DllMain( HANDLE h, DWORD reason, LPVOID lpReserved )
{
return TRUE;
} // DllMain
//************************************************************************
// $DOCBEGIN$
// BOOL IsProcessRunning( TCHAR * pname );
//
// Description: Get process table snapshot, look for pname running.
//
// Arguments: pname - pointer to name of program to look for.
// for example, app.exe.
//
// Returns: TRUE - process is running.
// FALSE - process is not running.
// $DOCEND$
//************************************************************************
BOOL IsProcessRunning( TCHAR * pname )
{
HANDLE hProcList;
ProgrammingChapter 7
233700 Series Color Mobile Computer User’s Manual
PROCESSENTRY32 peProcess;
DWORD thDeviceProcessID;
TCHAR lpname[MAX_PATH];
if ( !pname || !*pname ) return FALSE;
_tcscpy( lpname, pname );
_tcslwr( lpname );
hProcList = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if ( hProcList == INVALID_HANDLE_VALUE ) {
return FALSE;
} // end if
memset( &peProcess, 0, sizeof(peProcess) );
peProcess.dwSize = sizeof(peProcess);
if ( !Process32First( hProcList, &peProcess ) ) {
CloseToolhelp32Snapshot( hProcList );
return FALSE;
} // end if
thDeviceProcessID = 0;
do {
_tcslwr( peProcess.szExeFile );
if ( _tcsstr( peProcess.szExeFile, lpname ) ) {
thDeviceProcessID = peProcess.th32ProcessID;
break;
} // end if
} while ( Process32Next( hProcList, &peProcess ) );
if ( ( GetLastError() == ERROR_NO_MORE_FILES ) && ( thDeviceProcessID == 0
)){
CloseToolhelp32Snapshot( hProcList );
return FALSE;
} // end if
CloseToolhelp32Snapshot( hProcList );
return TRUE;
} // IsProcessRunning
codeINSTALL_INIT Install_Init(
HWND hwndParent,
BOOL fFirstCall,
BOOL fPreviouslyInstalled,
LPCTSTR pszInstallDir )
{
return codeINSTALL_INIT_CONTINUE;
}
codeINSTALL_EXIT Install_Exit (
HWND hwndParent,
LPCTSTR pszInstallDir,
WORD cFailedDirs,
WORD cFailedFiles,
WORD cFailedRegKeys,
ProgrammingChapter —7
234 700 Series Color Mobile Computer User’s Manual
WORD cFailedRegVals,
WORD cFailedShortcuts )
{
HANDLE h;
TCHAR srcfile[MAX_PATH];
TCHAR dstfile[MAX_PATH];
if (cFailedDirs || cFailedFiles || cFailedRegKeys ||
cFailedRegVals || cFailedShortcuts)
return codeINSTALL_EXIT_UNINSTALL;
if ( IsProcessRunning( L”autocab.exe” ) )
{h = CreateFile( L”\\Windows\\__resetmeplease__.txt”,
(GENERIC_READ | GENERIC_WRITE), 0, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_HIDDEN, NULL );
if ( h != INVALID_HANDLE_VALUE )
CloseHandle( h );
else
{
// Couldn’t create the file. If it failed because the file already
exists, it is not fatal.
// Otherwise, notify user of the inability to reset the device and they
will have to
// perform it manually after all of the installations are complete.
} // end if
}
else
{DWORD dret;
h = CreateFile( L”SYI1:”,
(GENERIC_WRITE | GENERIC_READ), 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL );
// Force a warm start NOW.
if ( h != INVALID_HANDLE_VALUE )
{DeviceIoControl( h, IOCTL_TERMINAL_RESET, NULL, 0, NULL, 0, &dret,
NULL);
// Won’t return, but we’ll show clean up anyway
CloseHandle( h );
}
else
{
// Couldn’t access SYSIO. Notify user.
} // end if
} // end if
return codeINSTALL_EXIT_DONE;
}
codeUNINSTALL_INIT
Uninstall_Init(
HWND hwndParent,
LPCTSTR pszInstallDir ) {
ProgrammingChapter 7
235700 Series Color Mobile Computer User’s Manual
// TODO: Perform the reverse of INSTALL_INIT here
return codeUNINSTALL_INIT_CONTINUE;
}
codeUNINSTALL_EXIT
Uninstall_Exit(HWND hwndParent) {
// TODO: Perform the reverse of INSTALL_EXIT here
return codeUNINSTALL_EXIT_DONE;
}
The system software looks for the following directory structure and files on
theinstalledmediacardwhetheritbeanSDcardorCFcardorembedded
flash file system. No other folders need exist.
\2577\autorun.exe
\2577\autorun.dat
\2577\autocab.exe
\2577\autocab.dat
\cabfiles\*.cab
Creating CAB Files with CAB Wizard
After you create the .INF file and the optional SETUP.DLL file, use the
CAB Wizard to create the .CAB file. The command-line syntax for the
CABWizardisasfollows:
cabwiz.exe “inf_file” [/dest dest_directory] [/err error_file] [/cpu cpu_type
[cpu_type]]
A batch file, located in <program> directory, with the following com-
mands, works well:
cabwiz.exe c:\appsoft\<program>\<inf_file_name>
cd \appsoft\<program>
“inf_file” The SETUP.INF file path.
dest_directory The destination directory for the .CAB files. If no directory is specified, the .CAB files are created
in the “inf_file” directory.
error_file The file name for a log file that contains all warnings and errors that are encountered when the
.CAB files are compiled. If no file name is specified, errors are displayed in message boxes. If a file
name is used, the CAB Wizard runs without the user interface (UI); this is useful for automated
builds.
cpu_type Creates a .CAB file for each specified microprocessor tag, which is a label used in the Win32 SE-
TUP.INF file to differentiate between different microprocessor types. The /cpu parameter, fol-
lowed by multiple cpu_type values, must be the last qualifier in the command line.
Example
This example creates .CAB files for the ARM and MIPS microprocessors,
assuming the Win32 SETUP.INF file contains the ARM and MIPS tags:
cabwiz.exe “c:\myfile.inf” /err myfile.err /cpu arm mips
Note: CABWIZ.EXE, MAKECAB.EXE, and CABWIZ.DDF (Windows
CE files available on the Windows CE Toolkit) must be installed in the
same directory on the desktop computer. Call CABWIZ.EXE using its full
path for the CAB Wizard application to run correctly.
ProgrammingChapter —7
236 700 Series Color Mobile Computer User’s Manual
Troubleshooting the CAB Wizard
To identify and avoid problems that might occur when using the CAB
Wizard, follow these guidelines:
SUse %% for a percent sign (%) character when using this character in
an .INF file string, as specified in Win32 documentation. This will not
work under the [Strings] section.
SDo not use .INF or .CAB files created for Windows CE to install ap-
plications on Windows-based desktop platforms.
SEnsure the MAKECAB.EXE and CABWIZ.DDF files, included with
Windows CE, are in the same directory as CABWIZ.EXE.
SUse the full path to call CABWIZ.EXE.
SDo not create a .CAB file with the MAKECAB.EXE file included with
Windows CE. You must use CABWIZ.EXE, which uses
MAKECAB.EXE to generate the .CAB files for Windows CE.
SDo not set the read-only attribute for .CAB files.
ProgrammingChapter 7
237700 Series Color Mobile Computer User’s Manual
Customization and Lockdown
Pocket PC (Windows Mobile) is a hardware specification created by
Microsoft Corporation. Devices that wish to carry the Pocket PC logo
must meet the minimum hardware requirements set in the Pocket PC spe-
cification. Manufacturers are free to add extra hardware functionality.
Pocket PC devices also use a specialized version of the CE operating sys-
tem. This OS is built from Windows CE 3.0 but contains customizations,
most notably the lack of a desktop and the addition of the Today Screen.
To carry the Pocket PC logo, all devices must be tested at an Independent
Test Laboratory. The ITL testing is done based on Microsoft require-
ments. The test lab then reports the findings back to Microsoft Corpora-
tion and Intermec Technologies. If the 700 Series Computer passed all
tests, Intermec is allowed to ship the device with the Pocket PC logo. Each
time the operating system is modified, Intermec must resubmit to ITL
testing.
This means we cannot change the operating system much and still be a
Pocket PC device. For example, if we remove Word from the Start menu,
thedevicewouldfailITLtestingandwewouldnotbeabletoshipdevices
with the Pocket PC logo.
Although many customers want a Pocket PC device, some customers
would prefer that their users not have access to all of the Pocket PC featu-
res. Intermec cannot customize the operating system in any way but a cus-
tom application can:
SDelete items from the Start menu, and Programs folder. These items are
just shortcuts in the file system so the application is not really being
deleted. Cold booting the device will bring these items back so the ap-
plication will need to be run on every cold boot.
SUse the RegFlushKey() API to save a copy of the registry to a storage
device. See the 700 Color Management Tools portion of the Intermec
Developer’s Library CD for more information on how to do this. Saving
a copy of the registry restores most system settings in a cold boot situa-
tion.
SUse the SHFullScreen() API in conjunction with other APIs to make
the application take up the entire display and prevent the start menu
from being available.
SRemap keys and disable keys on the keypad.
SCreate a custom SIP.
SMake changes to the registry to configure the device.
ProgrammingChapter —7
238 700 Series Color Mobile Computer User’s Manual
Should you want your 700 Series Computer to display a full screen, keep
in mind that your computer is Pocket-PC certified by Microsoft Corpora-
tion. Check out resources on programming for the Pocket PC, using the
following links. These instructions give full instructions on how to display
full screen.
SInstructions on how to create a full screen application for eVC++ ap-
plications using an SHFullScreen() API:
http://support.microsoft.com/support/kb/articles/Q266/2/44.ASP
SInstructions on how to create a full screen application for eVB applica-
tions also using the SHFullScreen() API:
http://support.microsoft.com/support/kb/articles/Q265/4/51.ASP
ProgrammingChapter 7
239700 Series Color Mobile Computer User’s Manual
FTP Server
FTP support is provided through the FTP Server application
FTPDCE.EXE (MS Windows CE Versions) which is provided as part the
base system.
FTPDCE is the Internet File Transfer Protocol (FTP) server process. The
server can be invoked from an application or command line. Besides ser-
vicing FTP client requests the FTP Server also send a “network announce-
ment” to notify prospective clients of server availability.
Note: You should consult the RFC959 specification for proper use of
some of these commands at the following URL:
Shttp://www.ietf.org/rfc/rfc959.txt for the text version, or
Shttp://www.w3.org/Protocols/rfc959/ for an html version
Do the following to send commands:
1Start an FTP client and connect to the device FTP server.
2Log in with “intermec” as the user name and “cr52401” for the pass-
word.
3From the FTP client, send the command.
4Wait for a response.
Synopsis
ftpdce [options ]
Options
–Aaddr (where addr is in the form of a.b.c.d) Sets the single target address to which to send the network an-
nouncement. Default is broadcast.
–Bbyte Sets the FTP data block size. Smaller sizes may be useful over slower links. Default is 65536.
–Cname Sets the device name. Used by Intermec management software.
–Fvalue Disables the default Intermec account. A value of “0” disables the account. Default is “1”.
Note that disabling the default account without providing a working access control list on the server
will result in a device that will not accept any FTP connections.
–Hsec Sets the interval between network announcements in seconds.A value of “0” turns the network an-
nouncement off. Default is 30 seconds.
–Iaddr (where addr is in the form of a.b.c.d) Sets the preferred 6920 Communications Server (optional).
–Llog (where log is either “0” or “1”) Sets the state of logging. Default is 0 (disabled).
–Nsec Specifies the number of seconds to wait before initially starting FTP server services.
–Pport Sets the UDP port on which the network announcement will be sent. Default port is 52401.
–Qport Sets the port on which the FTP Server will listen for connections. Defaultportis21.
–Rdir Sets the FTP mount point to this directory. Default is the root folder of the object store.
–Tscrip Sets the script name for the 6920 Communications Server to process.
–Uurl Sets the default URL for this device.
–Z“parms” Sets extended parameters to be included in the network announcement.
ProgrammingChapter —7
240 700 Series Color Mobile Computer User’s Manual
Configurable Parameters Via the Registry Editor
The following parameters receive default values during the installation of
the Intermec FTP Server components. A few of the parameters are visible
in the registry by default, but most must be created in order to modify the
default behavior of the FTP server.
BlockSize
Setting this parameter configures the Intermec FTP Server to transmit and
receive Ethernet packets using the specified data block size. By default, the
FTP server transmits and receives data using a 64K data block size. Adjust-
ing this value may be useful in certain wireless TCP/IP installations.
Key HKLM\Software\Intermec\IFTP
Value Type REG_DWORD - data block size, in bytes.
Valid Range 0x100-0x10000 (256-65536 decimal).
Default 65536
DeviceName
This parameter configures the Intermec FTP Server to include the speci-
fied device name in the Intermec Device Network Announcement
(IDNA). Adjusting this value may be useful in assigning a symbolic name
to this device for asset tracking.
Key HKLM\Software\Intermec\IFTP
Value Type REG_SZ
Valid Range None.
Default None.
DeviceURL
This parameter configures the Intermec FTP Server to transmit the speci-
fied URL in the IDNA. This can be used by Intermec management soft-
ware for asset management.
Key HKLM\Software\Intermec\IFTP
Value Type REG_SZ
Valid Range None.
Default None.
ProgrammingChapter 7
241700 Series Color Mobile Computer User’s Manual
IDNATarget
This parameter configures the Intermec FTP Server to transmit the IDNA
to a specific destination instead of a general UDP broadcast. This parame-
ter is useful on networks that do not allow UDP broadcasts to be routed
between subnets. The use of this parameter will restrict the reception of
the IDNA to the target destination only.
Key HKLM\Software\Intermec\IFTP
Value Type REG_SZ
Valid Range None.
Default None.
ManifestName
This parameter configures the Intermec FTP Server to transmit the speci-
fied manifest name in the IDNA. This parameter is used by the Intermec
6920 Communications Server for communication transactions. See the
6920 Communications Server documentation for proper use of this pa-
rameter.
Key HKLM\Software\Intermec\IFTP
Value Type REG_SZ
Valid Range None.
Default iftp.ini
PauseAtStartup
This parameter configures the Intermec FTP Server to sleep for the speci-
fied number of seconds before making the FTP service available on the
device.
Key HKLM\Software\Intermec\IFTP
Value Type REG_DWORD - stored in seconds.
Valid Range None.
Default 0
Root
This parameter configures the Intermec FTP Server to set the root of the
FTP mount point to the specified value. Note that this must map to an ex-
isting directory or you will not be able to log into the FTP Server.
Key HKLM\Software\Intermec\IFTP
Value Type REG_SZ
Valid Range None.
Default \
ProgrammingChapter —7
242 700 Series Color Mobile Computer User’s Manual
Transferring Files Over TCP/IP Networks
The File Transfer Protocol (FTP) server transfers files over TCP/IP net-
works. The FTPDCE.EXE program is a version that does not display a
window, but can run in the background.
FTPDCE is the Internet File Transfer Protocol (FTP) server process. The
server can be invoked from an application or command line. Besides ser-
vicing FTP client requests, the FTP Server also sends a “network an-
nouncement” to notify prospective clients of server availability.
Remarks
The FTP Server currently supports the following FTP requests:
CDUP Changes to the parent directory of the current working directory.
CWD Changes working directory.
DELE Deletes a file.
HELP Gives help information.
LIST (This FTP request is the same as the ls -lgA command). Gives list files in a directory.
MKD Makes a directory.
MODE (AlwaysUsesBinary).Specifies data transfer mode.
NLST (Not supported) Givesanamelistoffilesindirectory(thisFTPrequestisthesameasthels command).
NOOP Does nothing.
PASS Specifies a password.
PWD Prints the current working directory.
QUIT Terminates session.
RETR Retrieves a file.
RMD Removes a directory.
RNFR Specifies rename-from file name.
RNTO Specifies rename-to file name.
STOR Stores a file.
SYST Shows the operating system type of server system.
TYPE (Binary transfers only.) Specifies the data transfer type with the Type parameter.
USER Specifies user name.
XCUP (Not Normally Used) Changes the parent directory of the current working directory.
XCWD (Not Normally Used) Changes the current directory.
XMKD (Not Normally Used) Creates a directory.
XPWD (Not Normally Used) Prints the current working directory.
XRMD (Not Normally Used) Removes a directory.
ProgrammingChapter 7
243700 Series Color Mobile Computer User’s Manual
SITE The following extended OEM commands are supported by the SITE request. For Microsoft FTP cli-
ents, you can send site commands by preceding the command with “quote” such as “quote site status.”
ATTRIB Gets or sets the attributes of a given file. (SITE ATTRIB)
Usage QUOTE SITE ATTRIB [+R |-R][+A |-A ][+S |-S][+H |-H][[path]
filename]
+Sets an attribute.
Clears an attribute.
RRead-only file attribute.
AArchive file attribute.
SSystem file attribute.
HHidden file attribute.
To retrieve the attributes of a file, only specify the file. The server response will be:
200-AD SHRCEIX filename
If the flag exists in its position shown above, it is set. Also, in addition to the values
defined above, there is also defined:
CCompressed file attribute.
EEncrypted file attribute.
IINROM file attribute.
XXIPfileattribute(executeinROM,notshadowedinRAM).
BOOT Reboots the server OS. This will cause the system on which the server is executing to
reboot. The FTP Server will shut down cleanly before reboot. All client connections
will be terminated. Cold boot is default except for the PocketPC build in which the
default is warm boot. (SITE BOOT)
Usage: QUOTE SITE BOOT [WARM |COLD]
COPY Copies a file from one location to another. (SITE COPY)
Usage: QUOTE SITE COPY [source][destination]
Example: QUOTE SITE COPY ‘\Storage Card\one.dat’ ‘\Stor-
age Card\two.dat’
EXIT Exits the FTP Server. This command will shut down the FTP Server thus termina-
ting all client connections. (SITE EXIT)
Usage: QUOTE SITE EXIT
HELP Gives site command help information. (SITE HELP)
Usage: QUOTE SITE HELP [command]
KILL Terminates a running program. (SITE KILL)
Usage: QUOTE SITE KILL [program |pid]
LOG Opens or closes the program log. (SITE LOG)
Usage: QUOTE SITE LOG [open [filename]| close]
PLIST Lists the running processes (SITE PLIST)
Usage: QUOTE SITE PLIST
RUN Starts a program running. If the program to run has spaces in path or filename,
wrappingthenamewithsinglequotesisrequired.
Usage: QUOTE SITE RUN [program]
Example: QUOTE SITE RUN ‘\Storage Card\app.exe’
ProgrammingChapter —7
244 700 Series Color Mobile Computer User’s Manual
STATUS Returns the current settings of the FTP Server. MAC, serial number, model, IP ad-
dress, network announcement information as well as OS memory usage are returned.
(SITE STATUS)
Usage: QUOTE SITE STATUS
TIMEOUT Toggles idle timeout between 120 to 1200 seconds (2 to 20 minutes). If this timer
expires with no activity between the client and the server, the client connection will
be disconnected. If the optional seconds argument is supplied, the server will set the
connection timeout to the number of seconds specified. Default is 120 seconds or 2
minutes. (SITE TIMEOUT)
Usage: QUOTE SITE TIMEOUT [seconds]
EKEY Gives site command electronic key information. (SITE HELP)
Usage: QUOTE SITE EKEY [command]
EVAL Gives site command electronic value information. (SITE HELP)
Usage: QUOTE SITE EVAL [command]
GVAL Gives site command general value information. (SITE HELP)
Usage: QUOTE SITE GVAL [command]
PVAL Gives site command value information. (SITE HELP)
Usage: QUOTE SITE PVAL [command]
The remaining FTP requests specified in RFC 959 are recognized, but not
implemented.
The banner returned in the parenthetical portion of its greeting shows the
version number of the FTP Server as well as the MAC address, serial num-
ber and OS of the machine hosting the server.
The FTP Server supports browsing from the latest Netscape and Microsoft
web browsers. Drag-and-drop capability is available using this environ-
ment.
The FTPDCMDS subdirectory contains commands to use from the web
browser.
SClick EXITME.BIN to execute a SITE EXIT command.
SClick REBOOTME.BIN to execute SITE BOOT command.
SUse the GET command on these files to have the FTP Server execute
these commands.
SSecurity:
A customer configurable access control list may be installed on the
700 Series Computer. This list will allow customers to restrict access
via the FTP Server to users they wish and is in addition to default
Intermec accounts that are disabled using the -F0 option at runtime.
The access control list is named FTPDCE.TXT and is placed in the
same directory on the 700 Series Computer as the FTPDCE.EXE
server. The FTP Server will encrypt this file to keep the information
safe from unauthorized users. This file is encrypted when the FTP
Server is started so a file that is placed onto the 700 Series Computer
after the FTP Server starts will require a restart of the FTP Server to
take effect.
ProgrammingChapter 7
245700 Series Color Mobile Computer User’s Manual
The format of the FTPDCE.TXT is as follows:
FTPDCE:user1!passwd1<cr><lf>user2!passwd2<cr><lf>user3
!passwd3<cr><lf>...
Note: The user accounts and passwords are case sensitive.
Once the access control list is encrypted on the 700 Series Computer,
the FTP Server hides this file from users. Once an access control list
is installed on the 700 Series Computer, a new one is not accepted by
the FTP Server until the previous one is removed. Encrypted access
control lists are not portable between 700 Series Computers.
Stopping the FTP Server from Your Application
To allow application programmers the ability to programmatically shut
down the FTP Server, the FTP Server periodically tests to see if a named
event is signaled. The name for this event is “ITC_IFTP_STOP” (no
quotes).
For examples on how to use events, consult the Microsoft Developer Net-
work Library at http://www.msdn.com. The MSDN Library is an essential
resource for developers using Microsoft tools, products, and technologies.
It contains a bounty of technical programming information, including
sample code, documentation, technical articles, and reference guides.
Autostart FTP
This automatically starts the FTP Server (FTPDCE.EXE) when the 700
Series Computer is powered on. This is provided with the NDISTRAY
program (the Network Driver Interface Specification tray application),
which displays the popup menu that currently allows you to load and un-
load the network drivers. Tap the antenna icon in the System Tray of the
Today screen (a sample antenna icon is circled below) for this pop-up menu.
700 Color and 730 Screens 700CXL Screen
ProgrammingChapter —7
246 700 Series Color Mobile Computer User’s Manual
The default is to start the FTP Server at boot time, unless the following
registry entry is defined and set to “0” which disables AutoFTP. “1” en-
ablestheAutoFTP.TheentrycanbesetfromtheNDISTRAYpop-up
menu by selecting either AutoFTP On or AutoFTP Off.
HKEY_LOCAL_MACHINE\Software\Intermec\Ndistray\StartupIFTP
These new entries are located below the selections to load the network
drivers. If the StartupIFTP registry key is not defined, the FTP Server is
loaded by default, to provide “out-of-the-box” capability for customers
who want to begin loading files to the 700 Series Computer without any
prior configuration.
Note: If a network driver is unloaded using the NDISTRAY popup menu,
and the FTP Server is running, the FTP Server is stopped.
On a resume, if AutoFTP is enabled and the FTP Server is running, it is
stopped and restarted. NDISTRAY uses a helper application named RESE-
TIFTP to implement the restart on resume feature.
To do an AutoFTP Installation Check:
1Ensure the FTP Server is running “out-of-the-box” the first time.
2Tap Start >Today to access the Today screen, then tap the antenna
icon in the System Tray to bring up the NDISTRAY pop-up menu.
Select AutoFTP Off to disable AutoFTP. Do a warm boot and confirm
the FTP Server is not running.
3Tap Start >Today to access the Today screen, then tap the antenna
icon in the System Tray to bring up the NDISTRAY pop-up menu.
Select AutoFTP On to enable AutoFTP, reboot, confirm it is running.
4Unload the network driver when the FTP Server is running and con-
firm that it is not running any more.
5Load the FTP Server, establish a connection, then suspend and resume.
The server should still run, but the FTP connection to the client should
be dropped.
ProgrammingChapter 7
247700 Series Color Mobile Computer User’s Manual
Kernel I/O Controls
This describes the KernelIoControl() functions available to application
programmers. Most C++ applications will need to prototype the function
as the following to avoid link and compile errors.
extern “C” BOOL KernelIoControl(DWORD dwIoControlCode, LPVOID lpInBuf, DWORD
nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);
IOCTL_HAL_GET_DEVICE_INFO
This IOCTL returns either the platform type or the OEMPLATFORM
namebasedonaninputvalue.
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_DEVICE_INFO, LPVOID
lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD
nOutBufSize, LPDWORD lpBytesReturned );
Parameters
lpInBuf Points to a DWORD containing either the SPI_GETPLAT-
FORMTYPE or SPI_GETOEMINFO value.
lpInBufSize Must be set to sizeof(DWORD).
lpOutBuf Must point to a buffer large enough to hold the return data of the
function. If SPI_GETPLATFORMTYPE is specified in lpInBuf,
then the “PocketPC\0” Unicode string is returned. If SPI_GE-
TOEMINFO is specified in lpInBuf, then the “Intermec 700\0”
Unicode string is returned.
nOutBufSize ThesizeoflpOutBuf in bytes. Must be large enough to hold the
string returned.
lpBytesReturned The actual number of bytes returned by the function for the data
requested.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter —7
248 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_ITC_READ_PARM
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_ITC_READ_PARM,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Points to this structure. See “ID Field Values”below.
struct PARMS {
BYTE id;
BYTE ClassId;
};
nInBufSize Must be set to the size of the PARMS structure.
lpOutBuf Must point to a buffer large enough to hold the return data of the
function. If this field is set to NULL and nOutBufSize is set to zero
when the function is called the function will return the number
bytes required by the buffer.
nOutBufSize ThesizeoflpOutBuf in bytes.
lpBytesReturned Number of bytes returned by the function for the data requested.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the error value. Either
ERROR_INVALID_PARAMETER or
ERROR_INSUFFICIENT_BUFFER may be returned when this function
is used to get the error.
ID Field Values
The id field of the PARMS structure may be one of the following values:
ID Field Values
ITC_NVPARM_ETHERNET_ID
This IOCTL returns the Ethernet 802.11 MAC Address. Six bytes are returned in the buffer pointed to by the
lpOutBuffer parameter.
ITC_NVPARM_SERIAL_NUM
This IOCTL returns the serial number of the device in BCD format. Six bytes are returned in the buffer pointed to
by the lpOutBuffer parameter.
ITC_NVPARM_MANF_DATE
This IOCTL returns the device date of manufacture in the BCD YYYY/MM/DD format. Four bytes are returned in
the buffer pointed to by the lpOutBuffer parameter.
ITC_NVPARM_SERVICE_DATE
This IOCTL returns the device’s date of last service in BCD YYYY/MM/DD format. Four bytes are returned in the
buffer pointed to by the lpOutBuffer parameter.
ProgrammingChapter 7
249700 Series Color Mobile Computer User’s Manual
ID Field Values (continued)
ITC_NVPARM_DISPLAY_TYPE
This IOCTL returns the device’s display type. One byte is returned in the buffer pointed to by the lpOutBuffer
parameter.
ITC_NVPARM_EDG_IP
This IOCTL returns the device Ethernet debug IP address. Four bytes are returned in the buffer pointed to by the
lpOutBuffer parameter.
ITC_NVPARM_EDBG_SUBNET
This IOCTL returns the device Ethernet debug subnet mask. Four bytes are returned in the buffer pointed to by the
lpOutBuffer parameter.
ITC_NVPARM_ECN
This IOCTL returns ECNs applied to the device in a bit array format. Four bytes are returned in the buffer pointed
to by the lpOutBuffer parameter.
ITC_NVPARM_CONTRAST
This IOCTL returns the device default contrast setting. Two bytes are returned in the buffer pointed to by the
lpOutBuffer parameter.
ITC_NVPARM_MCODE
This IOCTL returns the manufacturing configuration code for the device. Sixteen bytes are
returned in the buffer pointed to by the lpOutBuffer parameter.
ITC_NVPARM_VERSION_NUMBER
This IOCTL returns the firmware version for various system components. These values for the ClassId field of the
PARMS structure are allowed when ITC_NVPARM_VERSION_NUMBER is used in the id field:
SVN_CLASS_KBD Returns a five-byte string, including null terminator, that contains an ASCII value which
represents the keypad microprocessor version in the system. The format of the string is x.xx with a terminating null
character.
SVN_CLASS_ASIC Returns a five-byte string, including null terminator, that contains an ASCII value which
represents the version of the FPGA firmware in the system. The format of the string is x.xx with a terminating null
character.
SVN_CLASS_BOOTSTRAP Returns a five-byte string, including null terminator, that contains an ASCII value
which represents the version of the Bootstrap Loader firmware in the system. The format of the string is x.xx with a
terminating null character.
ITC_NVPARM_INTERMEC_SOFTWARE_CONTENT
This IOCTL reads the manufacturing flag bits from the non-volatile data store that dictates certain software
parameters. A BOOLEAN DWORD is returned in the buffer pointed to by lpOutBuffer that indicates if Intermec
ContentisenabledintheXIPregions.TRUEindicatesthatitisenabled.FALSEindicatesthatitisnotenabled.
ITC_NVPARM_ANTENNA_DIVERSITY
This IOCTL reads the state of the antenna diversity flag. A BOOLEAN DWORD is returned in the buffer pointed
to by lpOutBuffer that indicates if there is a diversity antenna installed. TRUE indicates that it is installed. FALSE
indicatesthatitisnotinstalled.
ITC_NVPARM_WAN_RI
This IOCTL reads the state of the WAN ring indicator flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer that indicates the polarity of the WAN RI signal. TRUE indicates active high. FALSE
indicates active low.
ProgrammingChapter —7
250 700 Series Color Mobile Computer User’s Manual
ID Field Values (continued)
ITC_NVPARM_RTC_RESTORE
This IOCTL reads the state of the real-time clock restore flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the RTC is restored upon a cold boot. FALSE indicates that the
RTC is not restored.
ITC_NVPARM_INTERMEC_DATACOLLECTION_SW
This IOCTL reads the state of the data collection software enabled flag. A BOOLEAN DWORD is returned in the
buffer pointer to by lpOutBuffer that indicates the data collection software is to install at boot time. FALSE indicates
the data collection software should not install.
ITC_NVPARM_INTERMEC_DATACOLLECTION_HW
This IOCTL reads the data collection hardware flags. A BYTE is returned in the buffer pointer to by lpOutBuffer
that indicates the type of data collection hardware installed. The maximum possible value returned is
ITC_DEVID_SCANHW_MAX.
SITC_DEVID_SCANHW_NONE No scanner hardware is installed.
SITC_DEVID_OEM2D_IMAGER OEM 2D imager is installed.
SITC_DEVID_INTERMEC2D_IMAGER Intermec 2D imager is installed.
SITC_DEVID_SE900_LASER SE900 laser is installed.
SITC_DEVID_SE900HS_LASER SE900HS laser is installed.
SITC_DEVID_INTERMEC_EVIO EVIO linear imager is installed.
The high bit indicates whether the S6 scanning engine is installed. The bit mask for this is
ITC_DEVID_S6ENGINE_MASK. A non-zero value indicates that the S6 scanning engine is installed.
ITC_NVPARM_WAN_INSTALLED
This IOCTL reads the state of the WAN radio installed flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the WAN radio is installed. FALSE indicates that no WAN radio is
installed.
ITC_NVPARM_WAN_FREQUENCY
This IOCTL reads the state of the WAN radio frequency flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the WAN radio frequency is United States. FALSE indicates that
the WAN radio frequency is European.
ITC_NVPARM_WAN_RADIOTYPE
This IOCTL reads the WAN radio ID installed by manufacturing. A BYTE is returned in the buffer pointer to by
lpOutBuffer whichindicatesthetypeofWANradiohardwareinstalled.Themaximumpossiblevaluereturnedis
ITC_DEVID_WANRADIO_MAX. The current definitions are:
SITC_DEVID_WANRADIO_NONE No WAN radio installed.
SITC_DEVID_WANRADIO_SIERRA_SB555 CDMA Sierra Wireless radio.
SITC_DEVID_WANRADIO_XIRCOM_GEM3503 GSM/GPRS Intel (Xircom) radio.
SITC_DEVID_WANRADIO_SIEMENS_MC45 GSM/GPRS Siemens radio.
ITC_NVPARM_80211_INSTALLED
This IOCTL reads the state of the 802.11b radio installed flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the 802.11b radio is installed. FALSE indicates that no 802.11b
radio is installed.
ITC_NVPARM_80211_RADIOTYPE
This IOCTL reads the 802.11b radio ID installed by manufacturing. A BYTE is returned in the buffer pointer to by
lpOutBuffer that indicates the type of 802.11b radio hardware installed. The maximum possible value returned is
ITC_DEVID_80211RADIO_MAX. The current definitions are:
SITC_DEVID_80211RADIO_NONE No 802.11b radio installed.
SITC_DEVID_80211RADIO_INTEL_2011B Intel 2011B radio installed.
ProgrammingChapter 7
251700 Series Color Mobile Computer User’s Manual
ID Field Values (continued)
ITC_NVPARM_BLUETOOTH_INSTALLED
This IOCTL reads the state of the Bluetooth radio installed flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the Bluetooth radio is installed. FALSE indicates that no Bluetooth
radio is installed.
ITC_NVPARM_SERIAL2_INSTALLED
This IOCTL reads the state of the serial 2 (COM2) device installed flag. A BOOLEAN DWORD is returned in the
buffer pointed to by lpOutBuffer. TRUE indicates that the serial 2 device is installed. FALSE indicates that no serial
2 device is installed.
ITC_NVPARM_VIBRATE_INSTALLED
This IOCTL reads the state of the vibrate device installed flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the vibrate device is installed. FALSE indicates that no vibrate
device is installed.
ITC_NVPARM_LAN9000_INSTALLED
This IOCTL reads the state of the Ethernet device installed flag. A BOOLEAN DWORD is returned in the buffer
pointed to by lpOutBuffer. TRUE indicates that the Ethernet device is installed. FALSE indicates that no Ethernet
device is installed.
ITC_NVPARM_SIM_PROTECT_HW_INSTALLED
This IOCTL reads the state of the SIM card protection hardware installed flag. A BOOLEAN DWORD is returned
in the buffer pointed to by lpOutBuffer. TRUE indicates that the SIM card protection hardware is installed. FALSE
indicates that no SIM card protection hardware is installed.
ITC_NVPARM_SIM_PROTECT_SW_INSTALLED
This IOCTL reads the state of the SIM card protection software installed flag. A BOOLEAN DWORD is returned
in the buffer pointed to by lpOutBuffer. TRUE indicates that the SIM card protection software is installed. FALSE
indicates that no SIM card protection software is installed.
ITC_NVPARM_SIM_PROTECT_SW_INSTALLED
This IOCTL reads the state of the SIM card protection software installed flag. A BOOLEAN DWORD is returned
in the buffer pointed to by lpOutBuffer. TRUE indicates that the SIM card protection software is installed. FALSE
indicates that no SIM card protection software is installed.
ProgrammingChapter —7
252 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_ITC_WRITE_SYSPARM
Describes and enables the registry save location.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_ITC_WRITE_SYSPARM,LPVOID
lpInBuf,DWORD nInBufSize, LPVOID lpOutBuf, DWORD
nOutBufSize, LPDWORD lpBytesReturned );
Parameters
lpInBuf Asinglebytethatmaybeoneoftheid values. See “ID Field Values
on the next page.
nInBufSize Must be set to the size of the lpInBuf in bytes.
lpOutBuf Must point to a buffer large enough to hold the data to be written
to the non-volatile data store.
nOutBufSize ThesizeoflpOutBuf in bytes.
lpBytesReturned The number of bytes returned by the function.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the error value. Either
ERROR_INVALID_PARAMETER or
ERROR_INSUFFICIENT_BUFFER may be returned when this function
is used to get the error.
ProgrammingChapter 7
253700 Series Color Mobile Computer User’s Manual
ID Field Values
The id field of lpInBuf may be one of the following values:
ID Field Values
ITC_REGISTRY_SAVE_ENABLE
This function enables or disables the save registry to non-volatile media feature of the RegFlushKey() function.
lpOutBuf mustbesettozero(FALSE)ifthefeatureistobedisabledorone(TRUE)ifthefeatureistobeenabled.
ITC_ DOCK_SWITCH
This IOCTL sets a position of the dock switch. The dock switch may be set to either “modem” or “serial” positions.
lpOutBuf must point to a buffer that contains a byte value of either DOCK_MODEM or DOCK_SERIAL as
defined in OEMIOCTL.H; the value specifies the position the switch is to be set. The call appears as follows:
// port = DOCK_MODEM or DOCK_SERIAL as defined in oemioctl.h
BOOL SetDockSwitch( BYTE port)
{
DWORD cmd = ITC_DOCK_SWITCH;
DWORD cbRet;
return KernelIoControl(IOCTL_HAL_ITC_WRITE_SYSPARM,&cmd, sizeof(cmd),
&port,sizeof(port),&cbRet)
}
ITC_ WAKEUP_MASK
This IOCTL sets a bit mask that represents the mask for the five programmable wakeup keys. The I/O key is not a
programmable wakeup key. By default it is always the system resume key and all other keys are set to disable key
wakeup. A zero in a bit position masks the wakeup for that key. A one in a bit position enables wakeup for that key.
lpOutBuf must point to a buffer that contains a byte value of a wakeup mask consisting of the OR’ed constants as
definedinOEMIOCTL.H.Onlythefollowingkeysareprogrammableaswakeupevents.
#define SCANNER_TRIGGER 1
#define SCANNER_LEFT 2
#define SCANNER_RIGHT 4
#define GOLD_A1 8
#define GOLD_A2 0x10
ITC_AMBIENT_KEYBOARD (does not apply to the 730 Computer)
This IOCTL sets the threshold for the keypad ambient sensor. This can be a value from 0 (always off) to 255 (always
on). lpOutBuf must point to a buffer that contains a byte value of the desired setting.
ITC_AMBIENT_FRONTLIGHT (does not apply to the 730 Computer)
This IOCTL sets the threshold for the frontlight ambient sensor. This can be a value from 0 (always off) to 255.
lpOutBuf must point to a buffer that contains a byte value of the desired setting.
ProgrammingChapter —7
254 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_GET_DEVICEID
This IOCTL returns the device ID. There are two types of device IDs
supported,whicharedifferentiatedbasedonthesizeoftheoutput buffer.
TheUUIDisreturnedifthebuffersizeissetto
sizeof(UNIQUE_DEVICEID),otherwisetheoldstyledeviceIDisre-
turned.
Usage
#include “pkfuncs.h”
#include “deviceid.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_DEVICEID,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL. STRICT_ID settings are not supported.
lpInBufSize Should be set to zero.
lpOutBuf Must point to a UNIQUE_DEVICEID structure as defined by
DEVICEID.H if the UUID is to be returned
nOutBufSize The size of the UNIQUE_DEVICEID in bytes if the UUID is to
be returned. A DEVICE_ID as defined by PKFUNCS.H is re-
turned if the size in bytes is greater than or equal to sizeof(DE-
VICE_ID).
lpBytesReturned The number of bytes returned by the function.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter 7
255700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_GET_OAL_VERINFO
Returns the HAL version information of the Pocket PC image.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_OAL_VERINFO,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Must point to a VERSIONINFO structure as defined by
OEMIOCTL.H. The fields should have these values:
Scboemverinfo sizeof (tagOemVerInfo);
Sverinfover 1
Ssig; “ITC\0”
Sid; ‘N’
Stgtcustomer “”
Stgtplat SeaRay
Stgtplatversion Current build version number
Stgtcputype[8]; “Intel\0”
Stgtcpu “PXA255\0”;
Stgtcoreversion “”
Sdate Build time
Stime Build date
nOutBufSize ThesizeofVERSIONINFOinbytes.
lpBytesReturned Returns sizeof(PVERSIONINFO).
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter —7
256 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_GET_BOOTLOADER_VERINFO
Returns the HAL version information of the Pocket PC image.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_OAL_VERINFO,LPVOID
lpInBuf, DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
nInBufSize Should be set to zero.
lpOutBuf Must point to a VERSIONINFO structure as defined by
OEMIOCTL.H. The fields should have these values:
Scboemverinfo Sizeof (tagOemVerInfo);
Sverinfover 1
Ssig; “ITC\0”
Sid; ‘B’
Stgtcustomer “”
Stgtplat SeaRay
Stgtplatversion Current build version number of the
bootstrap loader
Stgtcputype[8]; “Intel\0”;
Stgtcpu “PXA255\0”
Stgtcoreversion “”
Sdate Build time
Stime Build date
nOutBufSize ThesizeofVERSIONINFOinbytes.
lpBytesReturned The number of bytes returned to lpOutBuf.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter 7
257700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_WARMBOOT
Causes the system to perform a warm-boot. The object store is retained.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_WARMBOOT,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Should be NULL.
nOutBufSize Should be zero.
Return Values
None.
IOCTL_HAL_COLDBOOT
Causes the system to perform a cold-boot. The object store is cleared.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_COLDBOOT,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Should be NULL.
nOutBufSize Should be zero.
Return Values
None.
ProgrammingChapter —7
258 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_GET_RESET_INFO
This IOCTL code allows software to check the type of the most recent
reset.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_RESET_INFO,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Must point to a HAL_RESET_INFO structure. See sample below.
nOutBufSize ThesizeofHAL_RESET_INFOinbytes.
lpBytesReturned The number of bytes returned by the function.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
Sample
typedef struct {
DWORD ResetReason; // most recent reset type
DWORD ObjectStoreState; // state of object store
} HAL_RESET_INFO, * PHAL_RESET_INFO;
// Reset reason types
#define HAL_RESET_TYPE_UNKNOWN 0
#define HAL_RESET_REASON_HARDWARE 1 // cold
#define HAL_RESET_REASON_SOFTWARE 2 // suspend
#define HAL_RESET_REASON_WATCHDOG 4
#define HAL_RESET_BATT_FAULT 8 // power fail
#define HAL_RESET_VDD_FAULT 16 // warm boot
// Object store state flags
#define HAL_OBJECT_STORE_STATE_UNKNOWN 0
#define HAL_OBJECT_STORE_STATE_CLEAR 1
ProgrammingChapter 7
259700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_GET_BOOT_DEVICE
This IOCTL code allows software to check which device CE booted from.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_BOOT_DEVICE,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Must point to a buffer large enough to hold a DWORD (4 bytes)
that contains the boot device. The following boot devices are sup-
ported:
#define HAL_BOOT_DEVICE_UNKNOWN 0
#define HAL_BOOT_DEVICE_ROM_XIP 1
#define HAL_BOOT_DEVICE_ROM 2
#define HAL_BOOT_DEVICE_PCMCIA_ATA 3
#define HAL_BOOT_DEVICE_PCMCIA_LINEAR 4
#define HAL_BOOT_DEVICE_IDE_ATA 5
#define HAL_BOOT_DEVICE_IDE_ATAPI 6
nOutBufSize ThesizeoflpOutBuf in bytes (4).
lpBytesReturned The number of bytes returned by the function.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter —7
260 700 Series Color Mobile Computer User’s Manual
IOCTL_HAL_REBOOT
Causes the system to perform a warm-boot. The object store is retained.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_HAL_REBOOT,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
lpInBufSize Should be set to zero.
lpOutBuf Should be NULL.
nOutBufSize Should be zero.
Return Values
None.
ProgrammingChapter 7
261700 Series Color Mobile Computer User’s Manual
IOCTL_PROCESSOR_INFORMATION
Returns processor information.
Usage
#include “pkfuncs.h”
Syntax
BOOL KernelIoControl( IOCTL_PROCESSOR_INFORMATION,LPVOID
lpInBuf,DWORD nInBufSize,LPVOID lpOutBuf,DWORD
nOutBufSize,LPDWORD lpBytesReturned );
Parameters
lpInBuf Should be set to NULL.
nInBufSize Should be set to zero.
lpOutBuf Should be a pointer to the PROCESSOR_INFO structure. The
PROCESSOR_INFO structure stores information that describes
the CPU more descriptively.
typedef __PROCESSOR_INFO {
WORD wVersion; // Set to value 1
WCHAR szProcessorCore[40]; // “ARM\0”
WORD wCoreRevision; // 4
WCHAR szProcessorName[40]; // “PXA255\0”
WORD wProcessorRevision; // 0
WCAHR szCatalogNumber[100]; // 0
WCHAR szVendor[100]; // “Intel Corporation\0”
DWORD dwInstructionSet; // 0
DWORD dwClockSpeed; // 400
}
nOutBufSize Should be set to sizeof(PROCESSOR_INFO) in bytes.
lpBytesReturned Returns sizeof(PROCESSOR_INFO);
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter —7
262 700 Series Color Mobile Computer User’s Manual
IOCTL_GET_CPU_ID
Returns Xscale processor ID.
Usage
#include “oemioctl.h”
Syntax
BOOL KernelIoControl( IOCTL_GET_CPU_ID,LPVOID lpInBuf,
DWORD nInBufSize,LPVOID lpOutBuf,DWORD nOutBufSize,LPDWORD
lpBytesReturned );
Parameters
lpInBuf ShouldpointtoaCPUIdInfostructuredefinedinOEMIOCTL.H.
lpInBufSize Should be sizeof(CPUIdInfo).
lpOutBuf Should be NULL.
nOutBufSize Should be set to 0.
lpBytesReturned Returns sizeof(PROCESSOR_INFO);
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.
ProgrammingChapter 7
263700 Series Color Mobile Computer User’s Manual
Network Selection APIs
The Network Selection APIs change the network adapter configuration
programmatically. Both drivers support the same IOCTL function num-
bers for loading and unloading the drivers.
Loading and unloading of the 802.11b driver is performed by the FWL1:
device in the system by performing DeviceIOControl() calls to the driver.
Loading and unloading of the driver for the built-in Ethernet adapter is
performed by the SYI1: device in the system by performing
DeviceIOControl() calls to the driver.
SFor loading an NDIS driver associated with an adapter, the IOCTL is
IOCTL_LOAD_NDIS_MINIPORT.
SFor unloading NDIS drivers associated with an adapter the IOCTL is
IOCTL_UNLOAD_NDIS_MINIPORT.
Example
#include <winioctl.h>
#include “sysio.h”
void DoLoad(int nDevice) {
LPTSTR devs[] = { _T(“SYI1:”), _T(“FWL1:”) };
HANDLE hLoaderDev;
DWORD bytesReturned;
hLoaderDev = CreateFile(devs[nDevice], GENERIC_READ|GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, 0, NULL);
if (hLoaderDev != INVALID_HANDLE_VALUE) {
if (!DeviceIoControl( hLoaderDev, IOCTL_LOAD_NDIS_MINIPORT, NULL, -1, NULL, 0,
&bytesReturned, NULL)){
MessageBox(NULL, TEXT(“SYSIO IoControl Failed”), TEXT(“Network
loader”),MB_ICONHAND);
if (hLoaderDev!=INVALID_HANDLE_VALUE) CloseHandle(hLoaderDev);
hLoaderDev = INVALID_HANDLE_VALUE; // bad handle
}else {
CloseHandle(hLoaderDev);
}
}
}
void DoUnload(int nDevice) {
LPTSTR devs[] = { _T(“SYI1:”), _T(“FWL1:”) };
HANDLE hLoaderDev;
DWORD bytesReturned;
hLoaderDev = CreateFile(devs[nDevice], GENERIC_READ|GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, 0, NULL);
if (hLoaderDev != INVALID_HANDLE_VALUE) {
if (!DeviceIoControl( hLoaderDev, IOCTL_UNLOAD_NDIS_MINIPORT, NULL, -1, NULL, 0,
&bytesReturned, NULL)){
MessageBox(NULL, TEXT(“SYSIO IoControl Failed”),TEXT(“Network
loader”),MB_ICONHAND);
if (hLoaderDev!=INVALID_HANDLE_VALUE) CloseHandle(hLoaderDev);
hLoaderDev = INVALID_HANDLE_VALUE; // bad handle
}else {
CloseHandle(hLoaderDev);
}
}
}
ProgrammingChapter —7
264 700 Series Color Mobile Computer User’s Manual
The API provided by Intermec Technologies exposes a limited set of rou-
tines that allows a programmer to access and affect the 802.11b network
interface card from within their application. The routines provided also
reads/writes values to the CE registry that pertain to the 802.11b radio
driver. By using the provided functions, a programmer can alter the
802.11b parameters of Network Name (SSID), WEP keys, infrastructure
modes, radio channel, and power management modes. A programmer can
also retrieve network connect status and signal strength indication from
the RF network card.
The API is contained within the 80211API.DLL file that should be pres-
ent in any load with the 802.11b networking installed.
NETWLAN.DLL
PRISMNDS.DLL
This file is the 802.11b driver. It is present in all 700 CE loads that use the 802.11b network
interface card.
80211API.DLL This file is an Intermec authored file that provides the programmer with a set of API calls to
configure or monitor status of the 802.11b network.
MOD80211.DLL The CORE module for the 802.11b NIC. It provides the 802.11b status information dis-
played when the CORE application is running.
80211CONF.EXE This is the “Control Panel” for configuring the 802.11b network parameters. Note that it is an
EXE file and is actually called by CPL802.CPL (see below). It is also called by the CORE ap-
plicationwhenthe“Configuration”buttonispressed.
CPL802.CPL A control panel application that does nothing but call 80211CONF.EXE.
80211SCAN.EXE Internally manages the Scan List activity.
802PM.DLL This handles profile management for radio configurable values.
URODDSVC.EXE This handles radio configuration and security authentication based on a selected profile.
The Profile Manager supports up to four radio configuration profiles.
TheseprofilesarethesameasthosesetbytheWirelessNetworkcontrol
panel applet that runs on the Windows CE unit. You can configure
different 802.11b profiles and switch between them using the 802.11 API.
See the ConfigureProfile() function on page 280 for more information.
ProgrammingChapter 7
265700 Series Color Mobile Computer User’s Manual
Basic Connect/Disconnect Functions
Below are functions available for the 700 Series Color Computer when
enabled with the 802.11b radio module.
RadioConnect()
Connects to the available radio. Use this function if you plan on using a
lot of API calls that talk directly to the radio. Note that the 802.11b radio
must be enabled via NDISTRAY before you can connect to it.
Syntax UINT RadioConnect( );
Parameters None.
Return Values ERROR_SUCCESS when successful, otherwise
ERR_CONNECT_FAILED
Remarks Call this function before you call any other function found within
this API. It hunts out and connects to the 802.11b radio available on
the system. Check extended error codes if it returns anything else for
information.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_RadioConnect)();
#else
UINT RadioConnect();
#endif
RadioDisconnect()
Call this function when done using the 802.11 API to clean up a
connection from a previous RadioConnect() call. If you do not call this
function, you may leave memory allocated.
Syntax UINT RadioDisconnect( );
Parameters None.
Return Values ERROR_SUCCESS when successful, otherwise
ERR_CONNECT_FAILED.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_RadioDisconnect)();
#else
UINT RadioDisconnect();
#endif
ProgrammingChapter —7
266 700 Series Color Mobile Computer User’s Manual
RadioDisassociate()
Call this function to have the 802.11b radio disassociate from the current
service set. The radio then enters an “off” mode until it is woken again by
setting the Service Set Identifier (SSID). Also, the NDIS driver generates
an NDIS media disconnect event.
Syntax UINT RadioDisassociate( );
Parameters None.
Return Values ERROR_SUCCESS when successful, otherwise
ERR_CONNECT_FAILED.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_RadioDisassociate)();
#else
UINT RadioDisassociate();
#endif
Query Information Functions
GetAssociationStatus()
Call this function to obtain the radio’s current association status with a
service set.
Syntax UINT GetAssociationStatus( ULONG &);
Parameters NDIS_RADIO_ASSOCIATED Indicates the radio is associated with an access point
NDIS_RADIO_SCANNING Indicates the radio is looking for an access point with which
to associate
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks Data is only valid if the function returns ERROR_SUCCESS. Also, if ERROR_SUCCESS is re-
turned, your ULONG reference is populated by one of the parameters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetAssociationStatus)(ULONG &);
#else
UINT GetAssociationStatus(ULONG &);
#endif
ProgrammingChapter 7
267700 Series Color Mobile Computer User’s Manual
GetAuthenticationMode()
Call this function to obtain the radio’s current authentication mode.
Syntax UINT GetAuthenticationMode( ULONG &);
Parameters NDIS_RADIO_AUTH_MODE_OPEN 802.11b Open Authentication. Indicates that
the radio is using an open system.
NDIS_RADIO_AUTH_MODE_SHARED 802.11b Shared Authentication. Indicates
that the radio is using a shared key.
NDIS_RADIO_AUTH_MODE_AUTO Auto switch between Open/Shared. Indicates
automatic detection is used when available.
NDIS_RADIO_AUTH_MODE_ERROR Defined as error value. Indicates the authen-
tication mode was not determined at this
time or is unknown.
NDIS_RADIO_AUTH_MODE_WPA WPA Authentication
NDIS_RADIO_AUTH_MODE_WPA_PSK WPA Preshared Key Authentication
NDIS_RADIO_AUTH_MODE_WPA_NONE WPA None
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks Data is only valid if ERROR_SUCCESS is returned. Also, if ERROR_SUCCESS is returned,
your USHORT reference is populated with one of the parameters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetAuthenticationMode)(ULONG &);
#else
UINT GetAuthenticationMode(ULONG &);
#endif
GetBSSID()
Call this function to get the current MAC address (BSSID) of the service
set. In ESS mode, this is the MAC address of the access point the radio is
associated with. In IBSS mode, this is a randomly generated MAC address,
andservesastheIDfortheIBSS.
Syntax UINT GetBSSID( TCHAR * );
Parameters Pointer to a character array, which is populated with the current BSSID after a successful call.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your TCHAR array is populated with the BSSID of the cur-
rent service set: xx-xx-xx-xx-xx-xx
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetBSSID)(TCHAR *);
#else
UINT GetBSSID(TCHAR *);
#endif
ProgrammingChapter —7
268 700 Series Color Mobile Computer User’s Manual
GetDiversity()
Call this function to get the current diversity setting of your 802.11b ra-
dio. This uses an optional NDIS5.1 OID to query the radio, of which a
large number of 802.11b devices do not support. This may be inaccurate.
Syntax UINT GetDiversity(USHORT *);
Parameters ANT_PRIMARY The primary antenna is selected.
ANT_SECONDARY The secondary antenna is selected.
ANT_DIVERSITY The radio is in diversity mode, and uses both antennas
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your USHORT reference is populated with one of the parame-
ters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetDiversity)(USHORT *);
#else
UINT GetDiversity(USHORT *);
#endif
GetLinkSpeed()
Call this function to get the current link speed of the 802.11b radio.
Syntax UINT GetLinkSpeed( int &);
Parameters This function accepts an int reference, and your int is populated with the current link speed, in
Mbps, rounded to the nearest whole integer, for example: 1, 2, 5, 11, etc.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks Data returned is valid if ERROR_SUCCESS is returned.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetLinkSpeed)(int &);
#else
UINT GetLinkSpeed(int &);
#endif
ProgrammingChapter 7
269700 Series Color Mobile Computer User’s Manual
GetMac()
Call this function to get the MAC address of the 802.11b radio.
Syntax UINT GetMac( TCHAR * );
Parameters Pointer to a character array, which is populated with the MAC address after a successful call.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your TCHAR array is populated with the formatted MAC
address of the adapter, as follows: xx-xx-xx-xx-xx-xx
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetMac)(TCHAR *);
#else
UINT GetMac(TCHAR *);
#endif
Note: Be sure to call RadioConnect() before calling this function for this
function to work properly.
GetNetworkMode()
Call this function to get the current Network Mode (SSID) for the
802.11b radio.
Syntax UINT GetNetworkMode( ULONG &);
Parameters NDIS_NET_MODE_IBSS 802.11 Ad-Hoc Mode.
NDIS_NET_MODE_ESS 802.11 Infrastructure Mode.
NDIS_NET_MODE_UNKNOWN Anything Else/Unknown Error
NDIS_NET_AUTO_UNKNOWN Automatic Selection. Use of this option is not supported or
recommended.
NDIS_NET_TYPE_OFDM_5G 5Gigahertz54Mbps
NDIS_NET_TYPE_OFDM_2_4G 802.11g 2.4 Gigahertz
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with one of the parame-
ters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetNetworkMode)(ULONG &);
#else
UINT GetNetworkMode(ULONG &);
#endif
ProgrammingChapter —7
270 700 Series Color Mobile Computer User’s Manual
GetNetworkType()
Call this function to get the current network type of the radio. Do not
confuse this with GetNetworkMode().
Syntax UINT GetNetworkType( ULONG &);
Parameters NDIS_NET_TYPE_FH Indicatesthisisafrequencyhoppingradio.
NDIS_NET_TYPE_DS Indicatesthatthisisadirectsequenceradio.
NDIS_NET_TYPE_UNDEFINED Indicates this radio type is unknown or undefined.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with one of the parame-
ters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetNetworkType)(ULONG &);
#else
UINT GetNetworkType(ULONG &);
#endif
GetSSID()
Call this function to get the desired SSID of the 802.11b radio.
Syntax UINT GetSSID( TCHAR * );
Parameters Pointer to a character array, which is populated with the current SSID when successful.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your TCHAR array is populated with the desired SSID.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetSSID)(TCHAR *);
#else
UINT GetSSID(TCHAR *);
#endif
Note: Call RadioConnect() before this function for this function to work
properly.
ProgrammingChapter 7
271700 Series Color Mobile Computer User’s Manual
GetPowerMode()
Call this function to get the current power savings mode of the radio.
Syntax UINT GetPowerMode( ULONG &);
Parameters NDIS_RADIO_POWER_MODE_CAM Continuous Access Mode (ie: always on).
NDIS_RADIO_POWER_MODE_PSP Power Saving Mode.
NDIS_RADIO_POWER_UNKNOWN Unknown power mode.
NDIS_RADIO_POWER_AUTO Auto. (Available for 730 Mobile Computers)
NDIS_RADIO_POWER_MODE_FAST_PSP Fast PSP, good savings, fast
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with one of the parame-
ters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetPowerMode)(ULONG &);
#else
UINT GetPowerMode(ULONG &);
#endif
Note: Do not use Automatic Switching mode at this time.
GetRSSI()
Call this function to get the current RSSI (Radio Signal Strength Indica-
tor), in Dbm.
Syntax UINT GetRSSI( ULONG & );
Parameters References a ULONG that is populated with the current RSSI after a successful call.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference contains the RSSI. Valid RSSI range
is from –100 Dbm to –30 Dbm.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetRSSI)(ULONG &);
#else
UINT GetRSSI(ULONG &);
#endif
ProgrammingChapter —7
272 700 Series Color Mobile Computer User’s Manual
GetTXPower()
Call this function to get the current transmit power of the radio.
Syntax UINT GetTXPower( ULONG &);
Parameters NDIS_POWER_LEVEL_63 63 mW
NDIS_POWER_LEVEL_30 30 mW
NDIS_POWER_LEVEL_15 15 mW
NDIS_POWER_LEVEL_5 5mW
NDIS_POWER_LEVEL_1 1mW
NDIS_POWER_LEVEL_UNKNOWN Unknown Value or Error.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with the TX power in
milliwatts (mW). Valid ranges are from 5 mW to 100 mW.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetTXPower)(ULONG &);
#else
UINT GetTXPower(ULONG &);
#endif
ProgrammingChapter 7
273700 Series Color Mobile Computer User’s Manual
GetWepStatus()
Call this function to get the current state of the radio’s WEP and encryp-
tion levels.
Syntax UINT GetWepStatus( ULONG &);
Parameters NDIS_ENCRYPTION_1_ENABLED WEP is enabled; TKIP and AES are not enabled,
and a transmit key may or may not be available.
(same as NDIS_RADIO_WEP_ENABLED)
NDIS_ENCRYPTION_DISABLED Indicates that AES, TKIP, and WEP are
disabled, and a transmit key is available. (Same as
NDIS_RADIO_WEP_DISABLED)
NDIS_ENCRYPTION_NOT_SUPPORTED Indicates encryption (WEP, TKIP, AES) is not
supported. (Same as
NDIS_RADIO_WEP_NOT_SUPPORTED)
NDIS_ENCRYPTION_1_KEY_ABSENT Indicates that AES, TKIP, and WEP are
disabled, and a transmit key is not available.
(Same as NDIS_RADIO_WEP_ABSENT)
NDIS_ENCRYPTION_2_ENABLED IndicatesthatTKIPandWEPareenabled;AES
is not enabled, and a transmit key is available.
NDIS_ENCRYPTION_2_KEY_ABSENT Indicates that there are no transmit keys available
for use by TKIP or WEP, TKIP and WEP are
enabled; and AES is not enabled.
NDIS_ENCRYPTION_3_ENABLED Indicates that AES, TKIP, and WEP are enabled,
and a transmit key is available.
NDIS_ENCRYPTION_3_KEY_ABSENT Indicates that there are no transmit keys available
forusebyAES,TKIP,orWEP,andAES,TKIP,
and WEP are enabled.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with one of the
parameters listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetWepStatus)(ULONG &);
#else
UINT GetWepStatus(ULONG &);
#endif
ProgrammingChapter —7
274 700 Series Color Mobile Computer User’s Manual
GetRadioIpAddress()
Call this function to obtain a formatted string indicating whether DHCP
is enabled, and what is the current adapters IP address.
Syntax UINT GetRadioIpAddress( TCHAR *);
Parameters Pointer to a character array that contains the formatted string of the IP address and static/DHCP
information.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your TCHAR array contains a string formatted as follows:
IP: DHCP Enabled\nxxx.xxx.xxx.xxx\n or
IP: DHCP Disabled\nxxx.xxx.xxx.xxx\n
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetRadioIpAddress)(TCHAR *);
#else
UINT GetRadioIpAddress(TCHAR *);
#endif
GetCCXStatus()
Call this function to get information about the current CCX status of the
adapter.
Syntax UINT GetCCXStatus( ULONG &);
Parameters NDIS_NETWORK_EAP_MODE_OFF Disable EAP mode.
NDIS_NETWORK_EAP_MODE_ON Enable EAP mode.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If ERROR_SUCCESS is returned, your ULONG reference is populated with one of parameters
listed above.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetCCXStatus)(ULONG &);
#else
UINT GetCCXStatus(ULONG &);
#endif
ProgrammingChapter 7
275700 Series Color Mobile Computer User’s Manual
Set Information Functions
AddWep()
Call this function to add a WEP key to the radio. Call this function multi-
pletimeswhenaddingmorethanoneWEPkey.Savethe“default”keyfor
last. For example, when adding four keys, and the second key is the default
transmit key, add keys 1, 3 and 4 before you add key 2.
Note: Addthedefaulttransmitkeylast.
Syntax UINT AddWep( ULONG, BOOL, TCHAR * );
Parameters ULONG Specifies the key index to be set. Valid values are 0–3.
BOOL When set to TRUE, specifies that this key is the default transmit key.
TCHAR Pointer to a character array that specifies the key data in either HEX (length of
10 or 26) or ASCII (length of 5 or 13). This string must be null-terminated.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks When adding WEP keys to the radio, turn off encryption before you add the keys, then turn en-
cryption back on afterwards. Also, be sure to add the TRANSMIT KEY last.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_AddWep)(ULONG, BOOL, TCHAR *);
#else
UINT AddWep(ULONG, BOOL, TCHAR *);
#endif
EnableWep()
Enables or disables WEP encryption on the radio (TRUE/FALSE).
Syntax UINT EnableWep( BOOL );
Parameters Set BOOL to TRUE to enable WEP encryption, or FALSE to disable WEP encryption.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks Call this function with TRUE as the parameter to enable WEP encryption. Call this function with
the FALSE parameter to disable WEP encryption. This call is an alias for EncryptionStatus(). See
the following:
EnableWEP(TRUE) = EncryptionStatus(NDIS_ENCRYPTION_1_ENABLED)
EnableWEP(FALSE) = EncryptionStatus(NDIS_ENCRYPTION_DISABLED)
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_EnableWep)(BOOL);
#else
UINT EnableWep(BOOL);
#endif
ProgrammingChapter —7
276 700 Series Color Mobile Computer User’s Manual
EncryptionStatus()
Call this function to set the desired encryption status.
Syntax UINT EncryptionStatus( UINT mode );
Parameters NDIS_ENCRYPTION_1_ENABLED WEP is enabled; TKIP and AES are not
enabled, and a transmit key may or may not be
available. (same as
NDIS_RADIO_WEP_ENABLED)
NDIS_ENCRYPTION_DISABLED Indicates that AES, TKIP, and WEP are
disabled, and a transmit key is available. (Same
as NDIS_RADIO_WEP_DISABLED)
NDIS_ENCRYPTION_NOT_SUPPORTED Indicates that encryption (WEP, TKIP, and
AES) is not supported. (Same as
NDIS_RADIO_WEP_NOT_SUPPORTED)
NDIS_ENCRYPTION_1_KEY_ABSENT Indicates that AES, TKIP, and WEP are
disabled, and a transmit key is not available.
(Same as NDIS_RADIO_WEP_ABSENT)
NDIS_ENCRYPTION_2_ENABLED IndicatesthatTKIPandWEPareenabled;AES
is not enabled, and a transmit key is available.
NDIS_ENCRYPTION_2_KEY_ABSENT Indicates that there are no transmit keys
available for use by TKIP or WEP, TKIP and
WEP are enabled; and AES is not enabled.
NDIS_ENCRYPTION_3_ENABLED Indicates that AES, TKIP, and WEP are
enabled, and a transmit key is available.
NDIS_ENCRYPTION_3_KEY_ABSENT Indicates that there are no transmit keys
available for use by AES, TKIP, or WEP, and
AES, TKIP, and WEP are enabled.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_EncryptionStatus)(UINT mode);
#else
UINT EncryptionStatus(UINT mode);
#endif
ProgrammingChapter 7
277700 Series Color Mobile Computer User’s Manual
SetAuthenticationMode()
Call this function to set the desired authentication mode.
Syntax UINT SetAuthenticationMode( ULONG );
Parameters NDIS_RADIO_AUTH_MODE_OPEN 802.11b Open Authentication. Indicates that
the radio is using an open system.
NDIS_RADIO_AUTH_MODE_SHARED 802.11b Shared Authentication. Indicates that
the radio is using a shared key.
NDIS_RADIO_AUTH_MODE_AUTO Auto switch between Open/Shared. Indicates
automatic detection is used when available.
NDIS_RADIO_AUTH_MODE_ERROR Defined as error value. Indicates the authenti-
cation mode was not determined at this time
or is unknown.
NDIS_RADIO_AUTH_MODE_WPA WPA Authentication
NDIS_RADIO_AUTH_MODE_WPA_PSK WPA Preshared Key Authentication
NDIS_RADIO_AUTH_MODE_WPA_NONE WPA None
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetAuthenticationMode)(ULONG);
#else
UINT SetAuthenticationMode(ULONG);
#endif
SetChannel()
This function is currently not implemented. Ad-hoc networks automatical-
ly select a channel or use the already existing channel.
Syntax UINT SetChannel( USHORT );
Parameters USHORT value that should populate with the desired channel (1–14).
Return Values None.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetChannel)(USHORT);
#else
UINT SetChannel(USHORT);
#endif
ProgrammingChapter —7
278 700 Series Color Mobile Computer User’s Manual
SetNetworkMode()
Call this function to set the desired Network Mode.
Syntax UINT SetNetworkMode( ULONG );
Parameters NDIS_NET_MODE_IBSS 802.11 Ad-Hoc Mode.
NDIS_NET_MODE_ESS 802.11 Infrastructure Mode.
NDIS_NET_MODE_UNKNOWN Anything Else/Unknown Error
NDIS_NET_AUTO_UNKNOWN Automatic Selection. Use of this option is not supported or
recommended.
NDIS_NET_TYPE_OFDM_5G 5Gigahertz54Mbps
NDIS_NET_TYPE_OFDM_2_4G 802.11g 2.4 Gigahertz
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetNetworkMode)(ULONG);
#else
UINT SetNetworkMode(ULONG);
#endif
SetPowerMode()
Call this function to set the desired power mode.
Syntax UINT SetPowerMode( ULONG mode );
Parameters NDIS_RADIO_POWER_MODE_CAM Continuous Access Mode (ie: always on).
NDIS_RADIO_POWER_MODE_PSP Power Saving Mode.
NDIS_RADIO_POWER_UNKNOWN Unknown power mode.
NDIS_RADIO_POWER_AUTO Auto. (Available for 730 Computers)
NDIS_RADIO_POWER_MODE_FAST_PSP Fast PSP, good savings, fast
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetPowerMode)(ULONG mode);
#else
UINT SetPowerMode(ULONG mode);
#endif
ProgrammingChapter 7
279700 Series Color Mobile Computer User’s Manual
SetSSID()
Call this function with a pointer to a null-terminated TCHAR array con-
taining the desired SSID to set the desired SSID of the adapter.
Syntax UINT SetSSID( TCHAR * );
Parameters Pointer to a character array that contains the desired SSID. This should be null-terminated.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks If an “ANY” network is desired, pass in _T(“ANY”).
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetSSID)(TCHAR *);
#else
UINT SetSSID(TCHAR *);
#endif
SetCCXStatus()
Call this function to set the desired CCX / Network EAP status.
Syntax UINT SetCCXStatus( ULONG );
Parameters NDIS_NETWORK_EAP_MODE_OFF Disable Network EAP / CCX
NDIS_NETWORK_EAP_MODE_ON Enable Network EAP / CCX
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetCCXStatus)(ULONG);
#else
UINT SetCCXStatus(ULONG);
#endif
SetMixedCellMode()
Call this function to set the desired mixed cell mode.
Syntax UINT SetMixedCellMode( ULONG );
Parameters NDIS_MIXED_CELL_OFF Disable Mixed Cell
NDIS_MIXED_CELL_ON Enable Mixed Cell
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SetMixedCellMode)(ULONG);
#else
UINT SetMixedCellMode(ULONG);
#endif
ProgrammingChapter —7
280 700 Series Color Mobile Computer User’s Manual
RemoveWep()
Call this function with a key index of 0–3 to remove the WEP key at that
index.
Syntax UINT RemoveWep( ULONG );
Parameters ULONG value that specifies the key index to set. Valid values are 0–3.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks On disassociation with all BSSIDs of the current service set, WEP key is removed by the adapter.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_RemoveWEP)(ULONG);
#else
UINT RemoveWEP(ULONG);
#endif
Helper Functions
ConfigureProfile()
If using the Intermec 802.11b Profile Management system, you can pro-
gram the API to configure the radio to a specific profile by passing the
profile name.
Syntax UINT ConfigureProfile( TCHAR * );
Parameters Pointer to a character array that contains the profile name. This should be null-terminated.
Return Values ERROR_SUCCESS when successful, ERR_QUERY_FAILED when the query failed, or
ERR_CONNECT_FAILED if a connection with the radio failed.
Remarks Call this function with a pointer to a null-terminated TCHAR array that contains the name of the
profile you wish to configure. This function reads profile data from the profile manager, sets that
profile as the default active profile, and configures the radio appropriately.
If needed, the supplicant and any other related services are automatically started and stopped.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_ConfigureProfile)(TCHAR *);
#else
UINT ConfigureProfile(TCHAR *);
#endif
ProgrammingChapter 7
281700 Series Color Mobile Computer User’s Manual
EnableZeroConfig()
This enables or disables the Wireless Zero Configuration Wizard from
Microsoft. After calling this function, a warm-boot is required for the
change to take effect.
Note: Enabling this function effectively disables all the SET commands in
this API.
Syntax UINT EnableZeroConfig( USHORT );
Parameters TRUE Enable Wireless Zero Config
FALSE Disable Wireless Zero Config
Return Values ERROR_SUCCESS when successful, ERR_ZERO_CONFIG_CHANGE_FAILED when the
query failed.
Remarks Call this function to set the desired Zero Config status.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_EnableZeroConfig)(USHORT);
#else
UINT EnableZeroConfig(USHORT);
#endif
isZeroConfigEnabled()
Call this function to determine whether Zero Config is currently enabled.
Syntax UINT isZeroConfigEnabled( );
Parameters None.
Return Values TRUE if ZeroConfig is enabled, and FALSE if it is disabled.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_isZeroConfigEnabled)();
#else
UINT isZeroConfigEnabled();
#endif
isOrinoco()
Call this function to determine whether the current radio is an
ORiNOCO, Lucent, or WaveLAN radio.
Syntax UINT isOrinoco( );
Parameters None.
Return Values TRUE if this is an ORiNOCO radio, and FALSE if it is not.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_isOrinoco)();
#else
UINT isOrinoco();
#endif
ProgrammingChapter —7
282 700 Series Color Mobile Computer User’s Manual
isSupplicantRunning()
Call this function to determine whether the security supplicant is running.
Syntax UINT isSupplicantRunning( );
Parameters None.
Return Values TRUE if the security supplicant is running, FALSE if it is not running.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_isSupplicantRunning)();
#else
UINT isSupplicantRunning();
#endif
StartScanList()
If a scan list is configured on the system, this causes the API to begin the
process of scanning for an available network. This call can take quite a
while to process (depending upon the length of the scan list and how long it
takestofindavalidnetwork), you may wish to call it from a separate
thread.
Syntax UINT StartScanList( );
Parameters None.
Return Values ERROR_SUCCESS when successful.
Remarks Call this function to start the scan list functionality of the system.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_StartScanList)();
#else
UINT StartScanList();
#endif
StartSupplicant()
Call this function to start the supplicant service if it is installed on the sys-
tem.
Syntax UINT StartSupplicant( );
Parameters None.
Return Values ERROR_SUCCESS when successful.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_StartSupplicant)();
#else
UINT StartSupplicant();
#endif
ProgrammingChapter 7
283700 Series Color Mobile Computer User’s Manual
StopSupplicant()
Call this function to stop the supplicant service.
Syntax UINT StopSupplicant( );
Parameters None.
Return Values ERROR_SUCCESS when successful.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_StopSupplicant)();
#else
UINT StopSupplicant();
#endif
isDHCPEnabled()
Call this function to determine whether DHCP is enabled on the current
adapter.
Syntax UINT isDHCPEnabled( );
Parameters None.
Return Values TRUE if DHCP is enabled, FALSE if it is not.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_isDHCPEnabled)();
#else
UINT isDHCPEnabled();
#endif
RenewDHCP()
Call this function to force a DHCP renewal on the current network adap-
ter.
Syntax UINT RenewDHCP( );
Parameters None.
Return Values ERROR_SUCCESS when successful.
Remarks You should not have to call this function on Microsoft PocketPC 2003 or Microsoft Windows CE
4.2 .NET and later devices.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_RenewDHCP)();
#else
UINT RenewDHCP();
#endif
ProgrammingChapter —7
284 700 Series Color Mobile Computer User’s Manual
GetCurrentDriverName()
Call this function to populate the TCHAR array with the driver name.
Syntax UINT GetCurrentDriverName( TCHAR *);
Parameters Pointer to a TCHAR array which contains the name of the driver when successful.
Return Values ERROR_SUCCESS when successful.
Remarks This function is called with a pointer to a TCHAR array that is large enough to hold the name of
the driver PLUS the null terminator.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_GetCurrentDriverName)(TCHAR *);
#else
UINT GetCurrentDriverName(TCHAR *);
#endif
ResetRadioToSystemSave()
Call this function to force the radio to reset to the last desired active pro-
file.
Syntax UINT ResetRadioToSystemSave( );
Parameters None.
Return Values ERROR_SUCCESS when successful.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_ResetRadioToSystemSave)();
#else
UINT ResetRadioToSystemSave();
#endif
EnableSuppLogging()
Call this function to set the desired supplicant logging mode.
Syntax UINT EnableSuppLogging( ULONG );
Parameters NDIS_SUPP_LOGGING_ON Supplicant Logging Enabled
NDIS_SUPP_LOGGING_OFF Supplicant Logging Disabled
Return Values ERROR_SUCCESS when successful.
Remarks None.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_EnableSuppLogging)(ULONG);
#else
UINT EnableSuppLogging(ULONG);
#endif
ProgrammingChapter 7
285700 Series Color Mobile Computer User’s Manual
SwitchPacketDriver()
Call this function to switch between available packet drivers on the system.
Syntax UINT SwitchPacketDriver( USHORT );
Parameters INTERMEC_PACKET_DRIVER Intermec Packet Driver (ZNICZIO)
NDISUIO_PACKET_DRIVER Microsoft Packet Driver (NDISUIO)
Return Values ERROR_SUCCESS when successful.
Remarks After switching to a new packet driver, perform a warm boot for changes to take effect.
Definitions #ifdef DYNAMIC_LOADING
typedef UINT (*PFN_SwitchPacketDriver)(USHORT);
#else
UINT SwitchPacketDriver(USHORT);
#endif
Deprecated Functions
The following functions are deprecated. While these are not removed from
the API, these are no longer supported. Their parameters are no longer
applicable and the return value for all of these functions is:
ERR_FUNCTION_DEPRECATED
Function Syntax
GetRTSThreshold(Deprecated) UINT GetRTSThreshold( USHORT &);
GetMedia(Deprecated) UINT GetMedia( ULONG &);
GetMedium(Deprecated) UINT GetMedium( ULONG &);
GetNicStats(Deprecated) UINT GetNicStats( NDIS_802_11_STATISTICS &);
SetRTSThreshold(Deprecated) UINT SetRTSThreshold( USHORT &);
SetTXRate(Deprecated) UINT SetTXRate( UCHAR );
EncryptWepKeyForRegistry(Deprecated) UINT EncryptWepKeyForRegistry( TCHAR * szDest,
TCHAR * szSource );
SetDiversity(Deprecicated) UINT SetDiversity( USHORT );
ProgrammingChapter —7
286 700 Series Color Mobile Computer User’s Manual
Notifications
Use the following information to programmatically control the vibrator, to
write an application to turn on the vibrator when a message is received via
the WLAN radio link, and turn it off when the user hits a key.
Vibrator support is implemented in the NLED driver as a false LED. The
vibrator is LED 5 and is identified with an CycleAdjust of –1. The vibrate
option is only available in the notifications panel when the vibrator is pres-
ent in the system.
Regarding an applications interface to NLED.DLL, LEDs must be avail-
able for use by applications. This is possible via two functions exported by
the COREDLL.DLL file. To use the LED functions, declare these as ex-
tern ”C” as follows:
extern ”C” BOOL WINAPI NLEDGetDeviceInfo(UINT nInfoId,
void *pOutput);
extern ”C” BOOL WINAPI NLEDSetDevice( UINT nDeviceId, void
*pInput);
The LEDs are enumerated for access through the data structures associated
with these APIs:
SNotification LED 0
SRadio On LED 1 (does not apply to the 730 Computer)
SAlpha Lock LED 2
SScanner LED 3
SLow Battery 4
SVibrator 5 (does not apply to the 730 Computer)
ProgrammingChapter 7
287700 Series Color Mobile Computer User’s Manual
NLEDGetDeviceInfo
Usage
#include “nled.h
Syntax
BOOL NLEDGetDeviceInfo ( UINT nInfoId, void *pOutput );
Parameters
nInfoId Integer specifying the information to return. These values are defined:
NLED_COUNT_INFO Indicates the pOutput buffer specifies the number of LEDs on
the device.
NLED_SUPPORTS_INFO_ID Indicates the pOutput buffer specifies information about the
capabilities supported by the LED.
NLED_SETTINGS_INFO_ID Indicates the pOutput buffer contains information about the
LED current settings.
pOutput Pointer to the buffer to which the information is returned. The buffer points to various structure
types defined in “nled.h”, depending on the value of nId, as detailed in the following table:
Value of nID Structure in pOutput
LED_COUNT_INFO NLED_COUNT_INFO
NLED_SUPPORTS_INFO NLED_SUPPORTS_INFO
NLED_SETTINGS_INFO NLED_SETTINGS_INFO
NLEDSetDevice
Usage
#include “nled.h
Syntax
BOOL NLEDSetDevice ( UINT nDeviceId, void *pInput );
Parameters
nDeviceId Integer specifying the device identification. The following is defined:
NLED_SETTINGS_INFO_ID Contains information about the desired LED settings.
pInput Pointer to the buffer that contains the NLED_SETTINGS_INFO structure.
ProgrammingChapter —7
288 700 Series Color Mobile Computer User’s Manual
Reboot Functions
There are several methods, via Kernel I/O Control functions, that an ap-
plication program can use to force the 700 Series Computer to reboot.
IOCTL_HAL_REBOOT
IOCTL_HAL_REBOOT performs a warm-boot. See page 260.
IOCTL_HAL_COLDBOOT
Invoking the KernelIOControl function with
IOCTL_HAL_COLDBOOT forces a cold reboot. This resets the 700
Series Computer and reloads Windows CE as if a power-up had been
performed. The contents of the Windows CE RAM-based object store are
discarded. See page 257.
IOCTL_HAL_WARMBOOT
This function is supported on the 700 Series Computers. It performs a
warm boot of the system, preserving the object store. See page 257.
ProgrammingChapter 7
289700 Series Color Mobile Computer User’s Manual
Remapping the Keypad
Note; Use caution when remapping the keypad. Improper remapping may
render the keypad unusable. Data within the 700 Series Computer could
also be lost, should any problems occur.
Applications have the ability to remap keys on the 700 Color Numeric
Keypad and 700 Color Alphanumeric Keypad. This will allow applications
to enable keys that would otherwise not be available, such as the [F1]
function key. Also, to disable keys that should not be available, such as the
alpha key because no alpha entry is required. Care should be exercised
when attempting to remap the keypad because improper remapping may
cause the keypad to become unusable. This can be corrected by cold boot-
ing the device which will cause the default keymap to be loaded again.
Note that remapping the keys in this way affects the key mapping for the
entire system, not just for the application that does the remapping.
There are three “planes” supported for the 700 Color Numeric Keypad
and Alphanumeric Keypad. Keys that are to be used in more than one shift
plane must be described in each plane.
Unshifted Plane
The unshifted plane contains values from the keypad when not pressed
with other keys, such as the following:
Press the Keys
Numeric Keypad Alphanumeric Keypad To Enter This
1M
1
5T
5
9Y
9
Gold Plane
The gold plane contains values from the keypad when a key is simulta-
neously pressed with the [Gold] bkey on the numeric keypad or the
[Gold/White]
c
key on the alphanumeric keypad, such as the following:
Press the Keys
Numeric Keypad Alphanumeric Keypad To Enter This
[Gold] b
1
[Gold/White]
ce
Send
[Gold] b
5
[Gold/White]
cC
A3
[Gold] b
9
[Gold/White]
cP
PgDn
ProgrammingChapter —7
290 700 Series Color Mobile Computer User’s Manual
Alpha (Blue) Plane
The alpha plane contains values from the keypad when the keypad has
beenplacedinalphamodebypressingthebluealphakey,suchasthefol-
lowing:
Press the Keys
Numeric Keypad Alphanumeric Keypad To Enter This
[Alpha] F
1
[Alpha]
dg
Caps
[Alpha] F
5
[Alpha]
dJ
j
[Alpha] F
9
[Alpha]
dW
w
Key Values
Key values for each plane are stored in the registry. All units ship with a
default key mapping already loaded in the registry. Applications that wish
to change the default mapping need to read the appropriate key from the
registry into an array of Words, modify the values required and then write
the updated values back into the registry. The registry access can be done
with standard Microsoft API calls, such as RegOpenKeyEx(),
RegQueryValueEx(), and RegSetValueEx().
Numeric Keypad
For the 700 Color Numeric Keypad, the following registry keys contain
the plane mappings:
STheunshiftedplanemappingcanbefoundintheregistryat:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\Vkey
SThe gold plane mapping can be found in the registry at:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\VkeyGold
SThealphaplanemappingcanbefoundintheregistryat:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\VkeyAlpha
Alphanumeric Keypad
For the 700 Color Alphanumeric Keypad, the following registry keys con-
tain the plane mappings:
STheunshiftedplanemappingcanbefoundintheregistryat:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\ALPHA\Vkey
SThe gold plane mapping can be found in the registry at:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\ALPHA\VkeyGold
SThealphaplanemappingcanbefoundintheregistryat:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\ALPHA\VkeyAlpha
ProgrammingChapter 7
291700 Series Color Mobile Computer User’s Manual
How Key Values Are Stored in Registry
To know which fields to update in the registry, you must know what Scan
Codes are assigned to each physical key (see the “Keypad Scan Codes and
Meanings” tableonthenextpage).TheScanCodeisusedatthelowest
level of the system to let the keypad driver know which physical key has
been pressed. The keypad driver takes that scan code and looks it up in a
table (a copy of the one stored in the registry) to determine which values
to pass on to the operating system.
Each registry key is just an array that describes to the keypad driver what
value needs to be passed for each physical key. The key values are indexed
by the scan code, this is a zero-based index. For example in the unshifted
plane, the [4] key has a scan code of 0x06. This means that the seventh
word under the “Vkey” registry key will have the value for the [4] key.
Taking a sample of the “Vkey” registry key shows the following values:
00,00,0B,05,02,03,C1,07,04,03,BE,00,34,00,00,00,. . .
Thevalueis34,00.Thevaluesareinreversebyteorderbecausethatisthe
way the processor handles data. When writing an application, nothing
needs to be done to swap the bytes, as this will happen automatically when
the data is read into a byte value. This is something you just need to be
aware of this when looking at the registry. Knowing this, we can see that
the value that the keypad driver will pass to the system is a hex 34. Look-
ing that up on an UNICODE character chart, we see that it maps to a “4”.
If you wanted the key, labeled “4”, to output the letter “A” instead, you
would need to change the seventh word to “41” (the hexadecimal repre-
sentation of “A” from the UNICODE chart), then put the key back into
the registry.
Note: Do not remap scan codes 0x01, 0x41, 0x42, 0x43, 0x44. Remap-
ping these scan codes could render your 700 Series Computer unusable
until a cold-boot is performed.
If you wish to disable a certain key, remap its scan code to 0x00.
Change Notification
Just changing the registry keys will not immediately change the key
mappings. To notify the keypad driver that the registry has been updated,
signal the “ITC_KEYBOARD_CHANGE” named event using the
CreateEvent() API.
Advanced Keypad Remapping
It is also possible to map multiple key presses to one button and to map
named system events to a button. The multiple key press option could be
useful to cut down on the number of keys needed to press in a given situa-
tion or to remap which key behaves like the action key. Mapping events to
a button could be useful to change which buttons will fire the scanner,
control volume, and allow for suspending and resuming the device. If you
need help performing one of these advanced topics please contact Intermec
Technical Support.
ProgrammingChapter —7
292 700 Series Color Mobile Computer User’s Manual
Scan Codes
At the lowest driver level, the 700 Color Numeric Keypad and the 700
ColorAlphanumericKeypadidentifieskeysasscancodes.Thesescan
codes are sent via the keypad microcontroller, and cannot be changed
without modifying the keypad firmware.
Numeric Keypad
The following scan codes pertain to the 700 Color Numeric keypad:
Numeric Keypad Scan Codes and Meanings
PressthisKey Meaning ScanCode
Reserved 0x00
I
I/O button 0x01
Scanner Handle Trigger 0x02
Scanner Left 0x03
Scanner Right 0x04
4
4/GHI/A2 0x06
None 0x07
L
Left arrow/Back Tab 0x08
None 0x09
K
BkSp// (forward slash) 0x0A
b
[Gold] key 0x0B
None 0x0C
E
Esc/– (minus sign) 0x0D
D
Down arrow/Volume decrease 0x0E
1
1/Caps/Send 0x0F
7
7/PQRS/PgUp 0x10
F
[Alpha] key 0x11
None 0x12
U
Up arrow/Volume increase 0x13
R
Right arrow/Tab 0x14
2
2/ABC/End 0x15
8
8/TUV/* (asterisk) 0x16
0
0/Win 0x17
5
5/JKL/A3 0x18
None 0x19
A
Action/+ (plus symbol) 0x1A
3
3/DEF/backlight 0x1B
9
9/WXYZ/PgDn 0x1C
ProgrammingChapter 7
293700 Series Color Mobile Computer User’s Manual
Numeric Keypad Scan Codes and Meanings (continued)
ScanCodeMeaningPressthisKey
e
Enter/@ (at symbol) 0x1D
6
6/MNO/A4 0x1E
None 0x1F–0x40
B
Charge Detect 0x41
C
LCD frontlight 0x42
b
Ambient light 0x42
Threshold crossed 0x42
Headset detected 0x43
Keypad Backlight 0x44
b
Ambient Light 0x44
Threshold Crossed 0x44
Alphanumeric Keypad
The following scan codes pertain to the 700 Color Alphanumeric keypad:
Alphanumeric Keypad Scan Codes and Meanings
PressthisKey Meaning ScanCode
Reserved 0x00
i
I/O button 0x01
Scanner Handle Trigger 0x02
Scanner Left 0x03
Scanner Right 0x04
A
A/A1 key 0x05
B
B/A2 key 0x06
e
Escape/Send 0x07
j
Left arrow/Back Tab 0x08
k
Up arrow/Volume increase 0x09
m
Down arrow/Volume decrease 0x0A
l
Right arrow/Tab 0x0B
a
Action/End 0x0C
E
E/Win 0x0D
F
F/= (equal sign) 0x0E
G
G/* (asterisk) 0x0F
C
C/A3 0x10
H
H// (forward slash) 0x11
D
D/A4 0x12
ProgrammingChapter —7
294 700 Series Color Mobile Computer User’s Manual
Alphanumeric Keypad Scan Codes and Meanings (continued)
ScanCodeMeaningPressthisKey
J
J/PgUp 0x13
K
K/@ (as symbol) 0x14
L
L/– (minus sign) 0x15
M
M/1 0x16
N
N/2 0x17
I
I/backlight 0x18
P
P/PgDn 0x19
Q
Q/, (comma) 0x1A
R
R/+ (plus sign) 0x1B
S
S/4 0x1C
T
T/5 0x1D
O
O/3 0x1E
g
Caps/Lock 0x1F
h
BkSp 0x20
V
V/. (period) 0x21
W
W/7 0x22
X
X/8 0x23
U
U/6 0x24
c
Gold/White 0x25
NumLock 0x26
b
Space 0x27
Z
Z/0 0x28
f
Enter 0x29
Y
Y/9 0x2A
None 0x2B–0x40
B
Charge Detect 0x41
C
LCD frontlight 0x42
b
Ambient light 0x42
Threshold crossed 0x42
Headset detected 0x43
Keypad Backlight 0x44
b
Ambient Light 0x44
Threshold Crossed 0x44
ProgrammingChapter 7
295700 Series Color Mobile Computer User’s Manual
Sample View of Registry Keys
The following is a sample view of the current default key mapping for the
700 Color Numeric Keypad. See the registry on your device for the latest
key mappings.
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
”ResumeMask”=dword:7
”Vkey”=hex: 00,00,0B,05,02,03,C1,07,04,03,BE,00,34,00,00,00,\
25,00,00,00,08,00,03,02,00,00,1B,00,28,00,31,00,\
37,00,01,02,00,00,26,00,27,00,32,00,38,00,30,00,\
35,00,00,00,01,03,33,00,39,00,0D,00,36,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,07,05,01,05,03,05,02,05
”VkeyGold”=hex: 00,00,0B,05,02,03,C1,07,04,03,BE,00,34,00,00,00,\
09,01,00,00,BF,00,03,02,00,00,BD,00,75,00,72,00,\
21,00,01,02,00,00,76,00,09,00,73,00,38,01,5B,00,\
35,00,00,00,BB,01,09,05,22,00,32,01,36,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,07,05,01,05,03,05,02,05
”VkeyAlpha”=hex: 00,00,0B,05,02,03,C1,07,04,03,BE,00,47,00,00,00,\
25,00,00,00,08,00,03,02,00,00,1B,00,28,00,02,02,\
50,00,01,02,00,00,26,00,27,00,41,00,54,00,20,00,\
4A,00,00,00,01,03,44,00,57,00,0D,00,4D,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,07,05,01,05,03,05,02,05
ProgrammingChapter —7
296 700 Series Color Mobile Computer User’s Manual
297700 Series Color Mobile Computer User’s Manual
Configurable Settings
A
This appendix contains information about the Data Collection, Intermec
Settings, SNMP, Unit Information, Utilities, and Wireless Network con-
trol panel applets that may be on the 700 Series Color Mobile Computer.
SNMP, Intermec Settings, and Data Collection settings that can appear
under Settings are dependent on what hardware configuration is done for
each 700 Series Computer at the time of shipment. These settings will cur-
rently only appear if a scanner or an imager option is present.
Likewise, other control panel applets that are specifically related to the
802.11b radio module will appear when a 802.11b radio module is
installed in a 700 Series Computer. Control panel applets that are specific
for Wireless Printing, CDMA/1xRTT, and GSM/GPRS radio modules
will only appear when each respective hardware configuration is done on
the 700 Series Computer. See Chapter 4, “Network Support,” for more infor-
mation about the radio modules or the wireless printing.
Information about using reader commands and configuration bar codes to
configuresomeofyoursettingsisalsointhisappendix.
Note: Information about the settings you can configure with the Intermec
Settings control panel applet is described in the Intermec Computer Com-
mand Reference Manual (P/N: 073529). The online manual is available
from the Intermec web site at www.intermec.com.
Configurable SettingsAppendix —A
298 700 Series Color Mobile Computer User’s Manual
Configuration Parameters
A configuration parameter changes the way the 700 Series Color Mobile
Computer operates, such as configuring a parameter to have the 700 Series
Computer emit a very loud beep in a noisy environment. Use any of the
following methods to execute configuration parameters:
SChange Data Collection and SNMP parameters via control panel ap-
plets later in this appendix.
SSend parameters from an SNMP management station. See SNMP Con-
figuration on the 700 Series Computer” starting on page 191.
SScan EasySet bar codes. You can use the EasySet bar code creation soft-
ware from Intermec Technologies Corporation to print configuration
labels. Scan the labels to change the scanner configuration and data
transfer settings.
Changing a Parameter Setting
Menus of available parameters for each group are listed. Use the scroll bars
to go through the list. Expand each menu (+) to view its parameter set-
tings. Tap a parameter to select, or expand a parameter (+) to view its sub-
parameters.
Note that each parameter or subparameter is shown with its default setting
or current setting in (< >) brackets. Tap a parameter or subparameter to
select that parameter, then do any of the following to change its setting:
Tap Apply to apply any changes. Note that these illustrations are from a
Symbologies parameter.
STypinganewvalueinanentryfield.
SChoosing a new value from the drop-down list.
SSelecting a different option. The selected option contains a bullet.
STap Defaults,thenApply to restore factory-default settings. Tap Yes
when you are prompted to verify this action.
Configurable SettingsAppendix —A
299700 Series Color Mobile Computer User’s Manual
STap Refresh to discard changes and start again. Tap Yes when you are
prompted to verify this action.
About Configuration Parameters
You can find this information about each configuration parameter:
SName and Purpose:
Describes the parameter and its function.
SAction:
Describes what to do with a parameter once that parameter is selected.
SSNMP OID:
Lists the SNMP OID for the parameter.
SSyntax or Options:
Syntax lists the two-character code for the parameter, if the parameter is
configurable by scanning a bar code or by sending parameters through a
network. Both Syntax and Options list acceptable values for the para-
meter.
Configurable SettingsAppendix —A
300 700 Series Color Mobile Computer User’s Manual
Data Collection Control Panel Applet
Note: This applet is not available in units with PSM Build 3.00 or newer.
To determine your PSM Build version, tap Start >Programs >
File Explorer >thePSMinfo text file.
If your unit has PSM Build 3.00 or newer, then you may have the Intermec
Settings control panel applet in place of the Data Collection applet.
Information about the settings you can configure with the Intermec
Settings applet is described in the Intermec Computer Command Reference
Manual. The online manual is available from the Intermec web site at
www.intermec.com.
See “Scanner Control and Data Transfer”intheIntermec Windows CE/
Pocket PC Software Developer’s Kit (SDK) User’s Manual shipped with the
Software Developer’s Kit (SDK) for information about data collection
functions. Note that icons are shown to the left.
To access the settings from the 700 Series Computer, tap Start >Settings
>theSystem tab > Data Collection to access its control panel applet.
Use the left and right arrows to scroll through the tabs along the bottom of
the control panel applet, then tap a tab to access its menus. These tabs rep-
resent the following groups of settings or parameters:
SSymbologies (starting on page 301)
SSymbology Options (starting on page 322)
SBeeper/LED (starting on page 330)
SImager (starting on page 336)
SVirtual Wedge (starting on page 341)
Configurable SettingsAppendix —A
301700 Series Color Mobile Computer User’s Manual
Symbologies
You can change bar code symbology parameter settings in your 700 Series
Computer via the Data Collection control panel applet. The following
parameters are for bar code symbologies. Additional information about the
more common bar code symbologies are in Appendix B, “Bar Codes.” Note
that these parameters are listed in the order of their appearance within this tab.
Most of these symbologies apply to both the imager and the laser scanner
tools. However, when using an imager, the Macro PDF (page 312),Micro
PDF417 (page 314),Matrix2of5(page 316), Telepen (page 317),and
Code 11 (page 318) symbologies are not supported. Likewise, when using
a laser scanner, the QR Code (page 319), Data Matrix (page 320),and
MaxiCode (page 321) symbologies are not supported.
Note: The 730 Computer uses the EV10 APS linear imager which sup-
ports 1D symbologies.
The following table shows which bar code symbologies are supported by
an imager, a laser scanner, or the EV10 APS Linear Imager
Bar Code Symbology Imager Laser Scanner
EV10 APS
Linear Imager
Code 39 XXX
Interleaved 2 of 5 XXX
Standard 2 of 5 XXX
Matrix 2 of 5 X X
Code 128 XXX
Code 93 XXX
Codabar XXX
MSI X X
Plessey XX
UPC XXX
EAN/EAN 128 XXX
Code 11 X X
PDF417 XXX
Micro PDF417 X X
Telepen XX
Data Matrix X
QR Code X
MaxiCode X
Configurable SettingsAppendix —A
302 700 Series Color Mobile Computer User’s Manual
Code 39
Code 39 is a discrete, self-checking, variable length symbology. The char-
acter set is uppercase A–Z, 0–9, dollar sign ($), period (.), slash (/), per-
cent (%), space ( ), plus (+), and minus (-).
Action
Tap (+) to expand the Code 39 parameter, select the setting to be
changed, then tap an option to change this setting or select an option from
the drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.3.1
Options
Decoding 0
1
Not active
Active (default)
Format 0
1
Standard 43 characters (default)
Full ASCII
Start/Stop 0
1
Not transmitted (default)
Transmitted
Start/Stop characters
(Not supported when us-
ing an imager)
0
1
2
$(dollarsign)only
* (asterisk) only (default)
$ and * (dollar sign and asterisk)
Check digit 0
1
2
3
4
5
6
Not used (default)
Mod 43 transmitted
Mod 43 not transmitted
French CIP transmitted
French CIP not transmitted
Italian CPI transmitted
Italian CPI not transmitted
Bar code length 0
1
Any length (default)
Minimum length
Minimum length 001–254 Minimum length 1–254 (default is 6)
Note:IfBar code length =“1”thenMinimum length is entered.
Configurable SettingsAppendix —A
303700 Series Color Mobile Computer User’s Manual
Standard 2 of 5
Standard 2 of 5 is a discrete and self-checking symbology that uses the bars
to encode information and the spaces to separate the individual bars.
Action
Tap (+) to expand the Standard 2 of 5 parameter, select the setting to be
changed, then tap an option to change this setting or select an option from
the drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.4.1
Options
Decoding 0
1
Not active (default)
Active
Format 0
1
Identicon, 6 start/stop bars (default)
Computer Identics, 4 start/stop bars
Check digit 0
1
2
Not used (default)
Mod 10 transmitted
Mod 10 not transmitted
Bar code length 0
1
2
Any length
Minimum length (default)
Fixed lengths
Minimum length 001–254 Minimum length 1–254 (default is 6)
Fixed length 1 000–254 Fixed bar code length 0–254 (default is 0)
Fixed length 2 000–254 Fixed bar code length 0–254 (default is 0)
Fixed length 3 000–254 Fixed bar code length 0–254 (default is 0)
Note:IfBar code length =“1”thenMinimum length is entered. If Bar
code length =“2”thenFixed length 1,Fixed length 2,orFixed length 3
is entered.
Configurable SettingsAppendix —A
304 700 Series Color Mobile Computer User’s Manual
Codabar
Codabar is a self-checking, discrete symbology.
Action
Tap (+) to expand the Codabar parameter, select a setting to be changed,
then select an option from the drop-down list to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.5.1
Options
Decoding 0
1
Not active (default)
Active
Start/Stop 0
1
2
3
4
Not transmitted (default)
abcd transmitted
ABCD transmitted
abcd/tn*e transmitted
DC1–DC4 transmitted
CLSI library system
(Not supported when us-
ing an imager)
0
1
Not active (default)
Active
Check digit 0
1
2
Not used (default)
Transmitted
Not transmitted
Bar code length 0
1
2
Any length
Minimum length (default)
Fixed lengths
Minimum length 003–254 Minimum length 3–254 (default is 6)
Fixed length 1 000–254 Fixed bar code length 0–254 (default is 0)
Fixed length 2 000–254 Fixed bar code length 0–254 (default is 0)
Fixed length 3 000–254 Fixed bar code length 0–254 (default is 0)
Note:IfBar code length =“1”thenMinimum length is entered. If Bar
code length =“2”thenFixed length 1,Fixed length 2,orFixed length 3
is entered.
Configurable SettingsAppendix —A
305700 Series Color Mobile Computer User’s Manual
UPC/EAN
UPC/EAN are fixed-length, numeric, continuous symbologies that use
four element widths.
Action
Tap (+) to expand the UPC/EAN parameter, select the setting to be
changed, then select an option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.6.1
Options
UPC A 0
1
Not Active
Active (default)
UPC E 0
1
Not Active
Active (default)
EAN 8 0
1
Not Active
Active (default)
EAN 13 0
1
Not Active
Active (default)
Add-on digits 0
1
Not required (default)
Required
Add-on 2 digits 0
1
Not active (default)
Active
Add-on 5 digits
(Not supported when us-
ing an imager)
0
1
Not active (default)
Active
UPC A check digit 0
1
Not transmitted
Transmitted (default)
UPC E check digit 0
1
Not transmitted
Transmitted (default)
EAN 8 check digit 0
1
Not transmitted
Transmitted (default)
EAN 13 check digit 0
1
Not transmitted
Transmitted (default)
UPC A number system 0
1
Not transmitted
Transmitted (default)
UPC E number system 0
1
Not transmitted
Transmitted (default)
UPC A re-encoding 0
1
UPC A transmitted as UPC A
UPC A transmitted as EAN 13 (default)
UPC E re-encoding 0
1
UPC E transmitted as UPC E (default)
UPC E transmitted as UPC A
EAN 8 re-encoding 0
1
EAN 8 transmitted as EAN 8 (default)
EAN 8 transmitted as EAN 13
Configurable SettingsAppendix —A
306 700 Series Color Mobile Computer User’s Manual
Code 93
Code 93 is a variable length, continuous symbology that uses four element
widths.
Action
Tap the Code 93 parameter, then select an option to change this parame-
ter setting. Tap (+) to access the Code 93 Lengths parameter.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.7.1
Options
0 Not active (default)
1Active
Code 93 Length
Sets the Code 93 bar code length.
Action
Tap (+) to expand the Code 93 parameter, then tap (+) to expand the
Code 93 Lengths parameter. Tap the setting to be changed, then tap an
option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.19.1
Options
Bar code length 0
1
Any length
Minimum length (default)
Minimum length 001–254 Minimum length 1–254 (default is 6)
Note:IfBar code length =“1”thenMinimum length is entered.
Configurable SettingsAppendix —A
307700 Series Color Mobile Computer User’s Manual
Code 128
Code 128 is a variable-length, continuous, high-density, alphanumeric
symbology that uses multiple element widths and supports the extended
ASCII character set.
Action
Tap the Code 128 parameter, then select an option to change this parame-
ter setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.9.1
Options
0 Not active (default)
1Active
This illustration is from a 700 Series Computer using a laser scanner.
Configurable SettingsAppendix —A
308 700 Series Color Mobile Computer User’s Manual
Code 128 Options
Set the following for the Code 128 parameter. Note that the EAN 128 ]C1
and CIP 128 French Pharmaceutical options are not available when you use
an imager with your 700 Series Computer.
Action
Tap (+) to expand the Code 128 Options parameter, select a setting, then
select an option to change this setting.
SNMP OID
None.
Options
EAN 128 ]C1 Identifier
(Not supported when using an
imager)
0
1
Remove (default)
Include
CIP 128 French Pharmaceutical
(Not supported when using an
imager)
0
1
Not active (default)
Active
Bar code length 0
1
Any length (default)
Minimum length
Minimum length 001–254 Minimum length 1–254 (default is 6)
This illustration is from a 700 Series Computer using a laser scanner.
Configurable SettingsAppendix —A
309700 Series Color Mobile Computer User’s Manual
Code 128 FNC1 Character
The Code 128 FNC1 character (EAN 128 norms) can be any ASCII char-
acter and is used as a separator when multiple identifiers and their fields
are concatenated. Note that this is not available when you use an imager with
your 700 Series Computer.
Non-printable ASCII characters can be entered using the following syntax
where HH is the hexadecimal value of the character.
\xHH
For example, the GS character, whose hexadecimal value is 1D, would be
entered as \x1D. In addition,the following characters have their own
identifiers:
SBEL \a
SBS \b
SFF \f
SLF \n
SCR \r
SHT \t
SVT \v
Action
Tap (+) to expand the Code 128 parameter, then type the ASCII charac-
ters to be set for the Code 128 FNC1 character parameter.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.21.1
Options
Any ASCII character (default is the GS function character — ID hex)
Configurable SettingsAppendix —A
310 700 Series Color Mobile Computer User’s Manual
Plessey
Plessey is a pulse-width modulated symbology like most other bar codes. It
includes a start character, data characters, an eight-bit cyclic check digit,
and a termination bar. The code is continuous and not self-checking. You
need to configure two parameters for Plessey code: Start Code and Check
Digit. Note that this is not available when you use an imager with your 700
Series Computer.
Action
Tap (+) to expand the Plessey parameter, select the setting to be changed,
then select an option to change this setting or select an option from the
drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.10.1
Options
Decoding 0
1
Not active (default)
Active
Check digit 0
1
Not transmitted (default)
Transmitted
Bar code length 0
1
Any length
Minimum length (default)
Minimum length 001–254 Minimum length 1–254 (default is 6)
Note:IfBar code length =“1”thenMinimum length is entered.
Configurable SettingsAppendix —A
311700 Series Color Mobile Computer User’s Manual
MSI
MSI is a symbology similar to Plessey code (page 310) that includes a start
pattern, data characters, one or two check digits, and a stop pattern. Note
that this is not available when you use an imager with your 700 Series Com-
puter.
Action
Tap (+) to expand the MSI parameter, select the setting to be changed,
then select an option to change this setting or select an option from the
drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.15.1
Options
Decoding 0
1
Not active (default)
Active
Check digit 0
1
2
3
Mod 10 transmitted (default)
Mod 10 not transmitted
Double Mod 10 transmitted
Double Mod 10 not transmitted
Bar code length 0
1
Any length
Minimum length (default)
Minimum length 001–254 Minimum length 1–254 (default is 6)
Note:IfBar code length =“1”thenMinimum length is entered.
Configurable SettingsAppendix —A
312 700 Series Color Mobile Computer User’s Manual
PDF417
PDF417 is a stacked two-dimensional symbology that provides the ability
to scan across rows of code. Each row consists of start/stop characters, row
identifiers, and symbol characters, which consist of four bars and four
spaces each and contain the actual data. This symbology uses error correc-
tion symbol characters appended at the end to recover loss of data.
Because the virtual wedge translates incoming data into keypad input, the
size of the keypad buffer limits the effective length of the label to 128
characters. Longer labels may be truncated. For PDF417 labels of more
than 128 characters, you can develop an application that bypasses the key-
pad buffer.
Action
Tap the PDF417 parameter, then select an option to change this parame-
ter setting. Tap (+) to access either the Macro PDF options parameter or
the Micro PDF417 parameter.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.17.1
Options
0Notactive
1Active(default)
This illustration is from a 700 Series Computer using a laser scanner.
Macro PDF options
Macro PDF is used when a long message requires more than one PDF417
label. Note that this is not available when you use an imager with your 700
Series Computer.
SSelect Buffered to store a multi-label PDF417 message in the Sabre
buffer, thus transmitting the entire message when all labels are read.
Configurable SettingsAppendix —A
313700 Series Color Mobile Computer User’s Manual
SSelect Unbuffered for multi-label PDF417 messages that are too long
for the Sabre buffer (memory overflow). Each part of the PDF417 label
is transmitted separately, and the host application must then assemble
the message using the macro PDF control header transmitted with each
label. Control Header is only present in macro PDF codes and is always
transmitted with unbuffered option.
Action
Tap (+) to expand the PDF417 parameter, tap (+) to expand the Macro
PDF parameter, select a setting to be changed, then select an option to
change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.22.1
Options
Macro PDF 0
1
Unbuffered
Buffered (default)
Control header 0
1
Not transmitted (default)
Transmitted
File name 0
1
Not transmitted (default)
Transmitted
Segment count 0
1
Not transmitted (default)
Transmitted
Time stamp 0
1
Not transmitted (default)
Transmitted
Sender 0
1
Not transmitted (default)
Transmitted
Addressee 0
1
Not transmitted (default)
Transmitted
File size 0
1
Not transmitted (default)
Transmitted
Checksum 0
1
Not transmitted (default)
Transmitted
Configurable SettingsAppendix —A
314 700 Series Color Mobile Computer User’s Manual
Micro PDF417
Micro PDF417 is a multi-row symbology derived from and closely based
on PDF417 (page 312). A limited set of symbology sizes is available, to-
gether with a fixed level of error correction for each symbology size. Note
that this is not available when you use an imager with your 700 Series Com-
puter.
Action
Tap (+) to expand the PDF417 parameter, tap (+) to expand the Micro
PDF417 parameter, select a setting to be changed, then select an option to
change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.27.1
Options
Decoding 0
1
Not active (default)
Active
Code 128 Emulation 0
1
Not active (default)
Active
Configurable SettingsAppendix —A
315700 Series Color Mobile Computer User’s Manual
Interleaved 2 of 5
Interleaved 2 of 5 (I 2 of 5) is a high-density, self-checking, continuous,
numeric symbology used mainly in inventory distribution and the automo-
bile industry.
Note: An Interleaved 2 of 5 bar code label must be at least three characters
long for the 700 Series Computer to scan and decode correctly.
Action
Tap (+) to expand the Interleaved 2 of 5 parameter, select the setting to be
changed, then tap an option to change this setting or select an option from
the drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.23.1
Options
Decoding 0
1
Not active (default)
Active
Check digit 0
1
2
3
4
Not used (default)
Mod 10 transmitted
Mod 10 not transmitted
French CIP transmitted
French CIP not transmitted
Bar code length 0
1
2
Any length
Minimum length (default)
Fixed lengths
Minimum length 003–254 Minimum length 3–254 (default is 6)
Fixed length 1 003–254 Fixed bar code length 3–254 (default is 3)
Fixed length 2 003–254 Fixed bar code length 3–254 (default is 3)
Fixed length 3 003–254 Fixed bar code length 3–254 (default is 3)
Note:IfBar code length =“1”thenMinimum length is entered. If Bar
code length =“2” then Fixed length 1,Fixed length 2,orFixed length 3 is
entered.
Configurable SettingsAppendix —A
316 700 Series Color Mobile Computer User’s Manual
Matrix 2 of 5
Matrix 2 of 5 is a numerical symbology. Note that this is not available when
you use an imager with your 700 Series Computer.
Action
Tap (+) to expand the Matrix 2 of 5 parameter, select the setting to be
changed, then tap an option to change this setting or select an option from
the drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.24.1
Options
Decoding 0
1
Not active (default)
Active
Bar code length 0
1
Any length
Minimum length (default)
Minimum length 001–254 Minimum length 1–254 (default is 6)
Note:IfBar code length =“1”thenMinimum length is entered.
Configurable SettingsAppendix —A
317700 Series Color Mobile Computer User’s Manual
Telepen
Telepen is an alphanumeric, case-sensitive, full ASCII symbology. Note
that this is not available when you use an imager with your 700 Series Com-
puter.
Action
Tap (+) to expand the Telepen parameter, select the setting to be changed,
then tap an option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.25.1
Options
Decoding 0
1
Not active (default)
Active
Format 0
1
ASCII (default)
Numeric
Configurable SettingsAppendix —A
318 700 Series Color Mobile Computer User’s Manual
Code 11
Code 11 is a high density, discrete numeric symbology that is extensively
used in labeling telecommunications components and equipment. Note
that this is not available when you use an imager with your 700 Series Com-
puter.
Action
Tap (+) to expand the Code 11 parameter, select the setting to be
changed, then tap an option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.26.1
Options
Decoding 0
1
Not active (default)
Active
Check digit verification 1
2
1 digit (default)
2 digits
Check digit transmit 0
1
Disable
Enable (default)
Configurable SettingsAppendix —A
319700 Series Color Mobile Computer User’s Manual
QR Code
QR Code (Quick Response Code) is a two-dimensional matrix symbology
containing dark and light square data modules. It has position detection
patterns on three of its four corners and features direct encodation of the
Japanese Kana-Kanji character set. It can encode up to 2509 numeric or
1520 alphanumeric characters and offers three levels of error detection.
Note that this is not available when you use a laser scanner with your 700 Se-
ries Computer or if you are using a 730 Computer.
Action
Tap (+) to expand the QR Code parameter, select the setting to be
changed, then tap an option to change this setting or select an option from
the drop-down list.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.35.1
Options
Decoding 0
1
Not active
Active (default)
Configurable SettingsAppendix —A
320 700 Series Color Mobile Computer User’s Manual
Data Matrix
A two-dimensional matrix symbology, which is made of square modules
arranged within a perimeter finder pattern. The symbology utilizes Error
Checking and Correcting (ECC) algorithm with selectable levels for data
error recovery and Cyclic Redundancy Check algorithm to validate the
data. The character set includes either 128 characters conforming to ISO
646 (ANSI X3.4 - 1986) or 256 extended character set. Maximum capac-
ity of a symbol is 2335 alphanumeric characters, 1556 8-bit byte charac-
ters or 3116 numeric digits. Note that this is not available when you use a
laser scanner with your 700 Series Computer or if you are using a 730 Com-
puter.
Action
Tap (+) to expand the Data Matrix parameter, select the setting to be
changed, then tap an option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.34.1
Options
Decoding 0
1
Not active
Active (default)
Configurable SettingsAppendix —A
321700 Series Color Mobile Computer User’s Manual
MaxiCode
MaxiCode is a fixed-size 2-D matrix symbology which is made up of offset
rows of hexagonal elements arranged around a unique circular finder pat-
tern. ASCII data is encoded in six-bit symbol characters. The symbol con-
tains 33 rows which are alternately 30 and 29 elements wide. There are
five different code sets. A single MaxiCode symbol can encode up to 93
characters of data. Note that this is not available when you use a laser scanner
with your 700 Series Computer or if you are using a 730 Computer.
Action
Tap (+) to expand the MaxiCode parameter, select the setting to be
changed, then tap an option to change this setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.1.1.33.1
Options
Decoding 0
1
Not active
Active (default)
Configurable SettingsAppendix —A
322 700 Series Color Mobile Computer User’s Manual
Symbology Options
To access the settings from the 700 Series Computer, tap Start >Settings
>theSystem tab>theData Collection icon to access its control panel
applet.
Use the right and left arrows to scroll to the Symbology Options tab, then
tap this tab to access its parameters. The following are parameters for bar
code symbology options. Note that these are listed in the order of their
appearance within the Symbology Options tab.
Symbology ID
Identifies the bar code symbology in which data is encoded by prepending
a user-specified symbology identifier to the data. You can prepend one of
these types of character strings to identify the symbology:
SUser-defined ASCII Character (Option 1):
A user-defined symbology identifier is a single ASCII character. You can
assign a custom identifier character to each bar code symbology. Note
that this is not available when you use an imager with your 700 Series
Computer.
SAIM ISO/IEC Standard (Option 2 Required to define symbology IDs):
The AIM Standard has a three-character structure which indicates the
symbology and optional features. See the AIM ISO/IEC Standard for
information.
Action
Select Symbology ID, then select an option to change this parameter set-
ting. Tap (+) to expand the Symbology ID parameter, then select any of
the user ID parameters listed. See the top of the next page for a sample screen
of the Code 39 user ID.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.4.1.22.1
Options
0 Disable (default)
1 User defined (disabled when using an imager)
2 ISO/IEC Standard
Configurable SettingsAppendix —A
323700 Series Color Mobile Computer User’s Manual
Code 39 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Code 39 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Code 39 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.3.1
Options: xwhere xis a single ASCII character. Default is asterisk (*).
Code 128 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Code 128 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Code 128 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.5.1
Options: xwhere xis a single ASCII character. Default is asterisk (*).
Codabar User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Codabar bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Codabar user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.2.1
Options: xwhere xis a single ASCII character. Default is D.
Configurable SettingsAppendix —A
324 700 Series Color Mobile Computer User’s Manual
Code 93 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Code 93 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Code 93 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.4.1
Options: xwhere xis a single ASCII character. Default is asterisk (*).
Interleaved 2 of 5 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Interleaved 2 of 5 bar code data. Note that this
is not available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Interleaved 2
of 5 user ID parameter, then enter a user ID value to change this parame-
ter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.10.1
Options: xwhere xis a single ASCII character. Default is I (not lowercase L).
PDF417 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify PDF417 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the PDF417 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.12.1
Options: xwhere xis a single ASCII character. Default is an asterisk (*).
MSI User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify MSI bar code data. Note that this is not avail-
able when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the MSI user ID
parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.11.1
Options: xwhere xis a single ASCII character. Default is D.
Configurable SettingsAppendix —A
325700 Series Color Mobile Computer User’s Manual
Plessey User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Plessey bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Plessey user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.13.1
Options: xwhere xis a single ASCII character. Default is D.
Standard 2 of 5 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Standard 2 of 5 bar code data. Note that this is
not available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Standard 2 of
5userIDparameter, then enter a user ID value to change this parameter
setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.23.1
Options: xwhere xis a single ASCII character. Default is D.
UPC A User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify UPC-A (Universal Product Code) bar code
data. Note that this is not available when you use an imager with your 700
Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the UPC A user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.6.1
Options: xwhere xis a single ASCII character. Default is A.
UPC E User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify UPC-E bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the UPC E user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.7.1
Options: xwhere xis a single ASCII character. Default is E.
Configurable SettingsAppendix —A
326 700 Series Color Mobile Computer User’s Manual
EAN 8 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify EAN-8 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the EAN 8 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.8.1
Options: xwhere xis a single ASCII character. Default is \xFF.
EAN 13 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify EAN-13 (European Article Numbering) bar
code data. Note that this is not available when you use an imager with your
700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the EAN 13 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.9.1
Options: xwhere xis a single ASCII character. Default is F.
Matrix 2 of 5 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Matrix 2 of 5 bar code data. Note that this is
not available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Matrix 2 of 5
user ID parameter, then enter a user ID value to change this parameter
setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.24.1
Options: xwhere xis a single ASCII character. Default is D.
Telepen User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Telepen bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Telepen user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.25.1
Options: xwhere xis a single ASCII character. Default is an asterisk (*).
Configurable SettingsAppendix —A
327700 Series Color Mobile Computer User’s Manual
Code 11 User ID
If “1” was selected in the Symbology ID parameter, you can set your own
ASCII character to identify Code 11 bar code data. Note that this is not
available when you use an imager with your 700 Series Computer.
Action: Tap (+) to expand the Symbology ID parameter, select the Code 11 user
ID parameter, then enter a user ID value to change this parameter setting.
SNMP OID: 1.3.6.1.4.1.1963.15.3.3.4.1.16.1
Options: xwhere xis a single ASCII character. Default is asterisk (*).
Configurable SettingsAppendix —A
328 700 Series Color Mobile Computer User’s Manual
Prefix
Prepends a string of up to 20 ASCII characters to all scanned data.
Action
Tap the Prefix parameter, then enter a prefix value to change this parame-
ter setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.4.1.29.1
Options
Acceptable values are up to 20 ASCII characters. Embedded null
(<NUL >) characters are not allowed. Default is no characters (disabled).
Configurable SettingsAppendix —A
329700 Series Color Mobile Computer User’s Manual
Suffix
Appends a string of up to 20 ASCII characters to all scanned data.
Action
Tap the Suffix parameter, then enter a suffix value to change this parame-
ter setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.3.4.1.30.1
Options
Acceptable values are up to 20 ASCII characters. Embedded null
(<NUL >) characters are not allowed. Default is no characters (disabled).
Configurable SettingsAppendix —A
330 700 Series Color Mobile Computer User’s Manual
Beeper/LED
To access the settings from the 700 Series Computer, tap Start >Settings
>theSystem tab>theData Collection icon to access its control panel
applet.
Use the right and left arrows to scroll to the Beeper/LED tab, then tap this
tab to access its parameters.
Most of these functions are not available when using an imager. The following
table shows which functions are supported either by an imager or by a
laser scanner.
Beeper Function Imager Laser Scanner
Beeper X
Beeper Volume X
Beeper Frequency X
Good Read Beeps X
Good Read Beep Duration X
The following are parameters for features on the 700 Series Computer.
Note that these are listed in the order of their appearance.
Configurable SettingsAppendix —A
331700 Series Color Mobile Computer User’s Manual
Beeper
Sets the volume for the good read beep. Note that this is not available when
you use a laser scanner with your 700 Series Computer.
Action
Tap the Beeper parameter, then select an option to change this parameter
setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.1.4.1.6.1
Options
1 Beeper (default)
4Vibrate(not supported on 730 Computers)
700 Color with Imager Screen 730 Screen
Configurable SettingsAppendix —A
332 700 Series Color Mobile Computer User’s Manual
Beeper Volume
Sets the volume for the good read beep. Note that this is not available when
you use an imager with your 700 Series Computer.
Action
Tap the Beeper volume parameter, then select an option to change this
parameter setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.1.4.1.6.1
Options
0Low
1High(default)
2Medium
3Off
4Vibrate
Disabling the Volume
To disable the beeper, tap Start >Settings >thePersonal tab > Sounds &
Notifications >theVolume tab, drag the System volume slider bar to the
left “Silent” position, then tap ok to exit this applet. See Chapter 1,
Introduction“ for more information.
Configurable SettingsAppendix —A
333700 Series Color Mobile Computer User’s Manual
Beeper Frequency
Sets the frequency for the good read beep. Note that this is not available
when you use an imager with your 700 Series Computer.
Action
Tap the Beeper frequency parameter, then enter a frequency value to
change this parameter setting.
SNMP OID
1.3.6.1.4.1.1963.15.3.1.4.1.7.1
Options
1000–4095 (default is 2090)
Configur