DCConnect Client User's Guide ----------------------------- This document describe the use of the IBM DCConnect Client product, including hardware and software requirements, all configuration options available for this product as well as other required products such as the operating system and the TCP/IP stack, and including detailed instructions about how to run this product on each of the support models of hardware. Prior to March 2000, this product was known as the 752x Emulator for DOS. The name was changed to remove the confusion that has existed because of the term 'emulator' and because the product now runs on Windows 95/98/Me/NT/2000/XP/7/Server as well as Windows CE. For much of this document, this product will be referred to as the 'Client'. However, in order for existing installations not to have to change, the .INI file from which configuration parameters are read will continue to be called EMULATOR.INI. For the same reason, we'll continue to use EM.BAT as the name of the batch file used to start the executable and we'll continue to use ETSPB.EXE and ETSPT.EXE as the executable names. Table of Contents ----------------- Notices Trademarks Overview Using the DCConnect Client with non-IBM Data Collection Terminals Hardware Requirements Software Requirements Installation Instructions for the DCConnect Client Installing the DCConnect Client on Windows 95/98/Me/NT/2000/XP/7/Server Product Files Installation Hints for the FTP Software TCP/IP Stack Authentication Key and Serial Number Entries in the .INI file Common Command Line Parameters for the Client Starting the Serial-Attached Flavor of the Client Starting the TCP/IP-Attached Flavor of the Client Menus Main Menu Diagnostics Menu Menu Short Cut Keys Configuration using EMULATOR.INI and MASTER.INI Keyword: ABORT_ONKEY_ON_RS232_INPUT Keyword: ABORT_READ_ON_RS232_INPUT Keyword: ADDRESS Keyword: ALL_SCAN_DATA_UPPER_CASE Keyword: ALLOW_LOWER_CASE Keyword: AUTO_SCROLL_ROW Keyword: BAUD_RATE Keyword: COLOR_ATTRIBUTES Keyword: COM_PORT Keyword: COMPILE_ONLY Keyword: DATE_SEPARATOR Keyword: DEVICE Keyword: DONT_CHANGE_SCREEN_SIZE Keyword: ENABLE_MENU_SHORTCUTS Keyword: FILE_PAGING Keyword: FULL_SCREEN Keyword: HIDE_MENU_BAR Keyword: IDLE_DELAY_MIN_AND_MAX Keyword: IGNORE_ARROW_KEYS Keyword: IGNORE_KEY Keyword: IGNORE_UNDERLINE Keyword: KEY_CLICK Keyword: KEYPAD_FONT_SIZE Keyword: KEYPAD_KEY Keyword: KEYPAD_NUM_KEYS Keyword: KEYPAD_NUM_KEY_COLS Keyword: KEYPAD_NUM_KEY_ROWS Keyword: KEYPAD_POSITION Keyword: LOCK_IN_MEMORY Keyword: LOG_COMPILE_WARNINGS Keyword: MAPPED_KEY Keyword: MAX_TRANSACTIONS Keyword: MENU_ITEM Keyword: MENU_KEY Keyword: MENU_PASSWORD Keyword: MODEM_DIAL_CHAR Keyword: MODEM_DIAL_STRING Keyword: MODEM_RETRIES Keyword: MODEM_SETUP_STRING Keyword: MSG_BUFFER_FULL Keyword: MSG_WAITING_FOR_FILES Keyword: NUM_COLUMNS / NUM_COLS Keyword: NUM_PF_STRINGS Keyword: NUM_ROWS Keyword: NUM_TOUCH_STRINGS Keyword: PF_AUTO_ENTER Keyword: PF_MAPPING Keyword: POWER_OFF_TIMER Keyword: RESEND_TIMER Keyword: ROW_PIXEL_SPACING Keyword: SCAN_LOOK_FOR_AIM_CODE Keyword: SCAN_SENTINEL_CHARS Keyword: SCAN_STRIP_COUNT_FRONT Keyword: SCRIPT_NAME Keyword: SELECT_FONT Keyword: SHOW_IDLE_TIME Keyword: STATUS_ROW Keyword: TCPIP_ENCRYPT Keyword: TCPIP_HOST Keyword: TCPIP_PORT Keyword: TERM_NAME Keyword: TERM_SUB_MODEL Keyword: TIME_SEPARATOR Keyword: TIMEZONE_ADJUST Keyword: TOGGLE_BACKLIGHT_CHAR Keyword: TSR_INTERRUPT Keyword: TXTN_BUFFER_WARNING_COUNT Keyword: TXTN_BUFFER_WARNING_TIMER Keyword: USE_ROOT_FOR_DOWNLOAD_FILES/A> Keyword: USE_RS232_FOR_SCANNER Keyword: USE_TSR_FOR_KEYBOARD Keyword: USE_TSR_FOR_RS232 Keyword: USE_TSR_FOR_SCANNER Keyword: UV_POOL_SIZE Keyword: VOLUME Keyboard Usage Android Keypad Custom Idle Screen Communications Protocol, Internal File Formats and Other Technical Information CFR Headers, Libraries and Samples Compiling and Linking a CFR Using the Environment Variable CFRTOOLS and Others When Building CFRs Using IBM C/2 Version 1.10 to Build CFRs for DOS-based Terminals Using Borland Turbo C++ 3.0 for DOS to Build CFRs for DOS-based Terminals Using Microsoft Visual C++ Version 6.0 to Build CFRs for Windows 95/98/Me/NT/2000/XP/7/Server Using Microsoft eMbedded Visual Toolkits to Build CFRs for Windows CE Devices Latest Fixes and Enhancements Using the DCConnect Client on ... Intelligent Instrumentation LanPoint/FactoryPoint/TimePoint Terminals Intelligent Instrumentation LanPoint Pro Terminals Intermec 6400 Terminals Intermec 6540 (or MaxiLAN DX) Terminals Intermec Trakker Antares Line of Terminals Intermec Janus 2010/2020/2050 Terminals LXE MX1, MX2, VX1 Terminals PSC/Percon Falcon 345 Terminals Selected Symbol Spectrum 24 Terminals Teklogix 7035 Terminals Telxon PTC960SL/X, PTC860IM and PTC870IM Terminals Windows 95/98/Me/NT/2000/XP/7/Server Windows CE Devices Notices ------- References in this document to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights may be used instead of the IBM product, program or service. Evaluation and verification of operation in conjunction with other products, except those expressly designated by IBM, is the user's responsibility. IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577. Trademarks and Service Marks ---------------------------- The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM Other company, product, and service names may be trademarks or service marks of others. Overview -------- The DCConnect Client allows a DOS or Windows device such as a PC to appear to be a Client Data Collection Terminal to the DCConnect Server. The Client software makes the device on which it is running function in much the same way that an IBM 7524 Data Collection terminal functions, accepting the download of the same transaction program files used for real 7524s and responding to commands and requests from the DCConnect Server, just as a 7524 does. With this product, customers who already have transaction programs written for the 7524 can use them on device supported by the DCConnect Client - including selected devices from Intermec, Symbol, Telxon as well as devices running Windows NT/95/98 and Windows CE. The Client can even run in a DOS full-screen session of OS/2. When configuring the DCConnect Server, any device that is running the DCConnect Client should be set up using the 7524 terminal type. This is because the Client makes a device work just like a 7524 terminal; DCConnect does not know the difference. The DCConnect Client product includes modules for several different methods of attachment to a data collection system such as DCConnect: - Attachment via the serial port. If using this method the device running the Client would be configured as a 7524 terminal attached to a serial line or ARTIC line in the DCConnect configuration. - Attachment via any TCP/IP adapter supported by IBM DOS TCP/IP Support Version 2.11. If using this method the device running the Client would be configured as a 7524 terminal attached to a TCP/IP 75XX line. - Attachment via any TCP/IP adapter supported by FTP Software's PC/TCP Network Kernel for DOS/Windows version 3.2 or later. If using this method the device running the Client would be configured as a 7524 terminal attached to a TCP/IP 75XX line. - Attachment via any TCP/IP adapter supported by Novell's LAN Workplace for DOS. If using this method the device running the Client would be configured as a 7524 terminal attached to a TCP/IP 75XX line. - Attachment via any TCP/IP adapter supported by the native networking support of Windows 95/98/Me/NT/2000/XP/7/Server and Windows CE. - For Antares terminals, attaching using the TCP/IP Connectivity Software (not UDP plus). The product provides a different executable for each of these attachment methods. Using the Client with non-IBM Data Collection Terminals ------------------------------------------------------- In addition to being able to run on a standard DOS-based PC and in the Windows NT/95/98 environments, the Client has been written to support many different third party data collection terminals. At this time, the following terminals are supported: Max Data Collection Terminal Screen Style & Connectivity ------------------------ ------ -------------------- - Group Mobile MA1000 (Windows CE) *** #SVGA Tablet PC, RF - HandHeld Products 7400 (Windows CE) *** #QVGA Portable RF - flashlight style - Intelligent Instrumentation LanPoint 2x40 Stationary Ethernet or serial - Intelligent Instrumentation FactoryPoint 2x40 Stationary Ethernet or serial - Intelligent Instrumentation TimePoint 2x40 Stationary Ethernet or serial - Intelligent Instrumentation LanPoint Pro 4x40 Stationary Ethernet or serial, RF optional - Intelligent Instrumentation LanPoint CE #Half VGA Stationary/Vehicle Mount Ethernet/serial/RF - Intermec 6400 *15x20 Portable RF/batch serial - flashlight - Intermec 6540 4x40 Wired ethernet or serial, RF optional - Intermec MaxiLAN DX 200S/200H (former name of Intermec 6540) - Intermec Janus 2010 16x20 Portable RF/batch serial - flashlight - Intermec Janus 2020 16x20 Portable RF/batch serial - gun style - Intermec Janus 2050 20x40 Vehicle mount RF - Intermec Trakker Antares 2410 16x20 Small portable batch serial - flashlight - Intermec Trakker Antares 2415 16x20 Small portable RF - flashlight - Intermec Trakker Antares 2420 16x20 Large portable batch serial - flashlight - Intermec Trakker Antares 2425 16x20 Large portable RF - flashlight - Intermec Trakker Antares 2435 +16x20 Large portable RF - flashlight - Intermec Trakker Antares 2455 25x40 Vehicle mount RF - Intermec Trakker Antares 2460 2x16 Stationary serial - Intermec Trakker Antares 2461 2x16 Stationary Ethernet - Intermec Trakker Antares 2480 4x40 Stationary Ethernet or serial - Intermec Trakker Antares 2481 24x40 Stationary Ethernet or serial - Intermec Trakker Antares 2485 4x40 Stationary RF - Intermec Trakker Antares 2486 24x40 Stationary RF - Intermec 600 (Windows CE) #QVGA Palm style: wired ethernet, serial (needs dock to talk) - Intermec 7xx (Windows CE, Pocket PC) #QVGA Palm style: wired ethernet, serial, RF (needs dock unless RF) - Intermec 5020 (Windows CE) #QVGA Portable RF - flashlight - Intermec 6651 (Windows CE, Handheld PC) #VGA Pen tablet: serial or RF - Intermec CK3 (Windows Mobile) *** #QVGA Portable RF - flashlight - Intermec CK30 (Windows CE) #160x160p Portable RF - flashlight (p = pixels) - Intermec CK31 (Windows CE) #QVGA Portable RF - flashlight - Intermec CK61 (Win CE, Win Mobile) *** #QVGA Portable RF - flashlight/gun - Intermec CN30 (Win CE, Win Mobile) *** #QVGA Portable RF - flashlight/gun - Intermec CV30 (Win CE, Win Mobile) *** #VGA Fixed mount RF - Intermec CV60 (Windows CE) #SVGA Vehicle mount RF - LXE/Honeywell MX1 *** 16x20 Portable RF - flashlight style - LXE/Honeywell MX2 *** (Equivalent to PSC/Percon Falcon 345) - LXE/Honeywell MX3Plus (Win CE) *** #1/2 VGA Mini Vehicle mount RF - LXE/Honeywell MX5 (Win CE) *** #QVGA Portable RF - flashlight/gun - LXE/Honeywell MX7 Tecton (WinCE/Mob) *** #QVGA Portable RF - flashlight/gun - LXE/Honeywell VX1 *** 20x40 Vehicle mount RF - LXE/Honeywell VX7 (Win CE) *** #SVGA Vehicle mount RF - PSC/Percon Falcon 345 *** 16x20 Portable RF - gun style - Symbol FMT1020 (Equivalent to Intelligent Instrumentation LanPoint) - Symbol FMT1040 (Equivalent to Intelligent Instrumentation FactoryPoint) - Symbol FMT1060 (Equivalent to Intelligent Instrumentation TimePoint) - Symbol FMT3000 (Equivalent to Intelligent Instrumentation LanPoint Pro) - Symbol WSS1040/1060 8x20 Wearable RF - Symbol PDT3140 8x20 Portable RF - flashlight style - Symbol LRT3840 8x20 Portable RF - gun style - Symbol VRC3940 8x20 Vehicle mount RF - Symbol PDT6840 16x20 Portable RF - flashlight style - Symbol VRC6940 8x20 Vehicle mount RF - Symbol MC30xx (Win CE) *** #QVGA Portable RF - flashlight/gun style - Symbol WT4070/90 (Win CE 5.0) *** #QVGA Wearable RF - Symbol VC509x (Win CE 5.0) *** #SVGA Vehicle mount RF (Half SVGA also available) - Symbol MC709x (Win CE, Win Mobile) *** #QVGA Palm style, RF - Symbol VRC7946 (Win CE 5.0) *** #Half VGA Vehicle mount RF - Symbol PDT81xx (Win CE, Pocket PC) #QVGA Portable RF - flashlight style - Symbol PPT88xx (Win CE) *** #QVGA Palm style, RF - Symbol MC906x (Win CE, Win Mobile) #QVGA Portable RF - flashlight style - Symbol MC909x (Win CE, Win Mobile) *** #QVGA Portable RF - flashlight style - Symbol MC91xx (Win CE, Win Mobile) *** #VGA/QVGA Portable RF - flashlight style - Teklogix 7035 *** ##18x20 Portable RF - gun style - Telxon 960SL/960X 16x21 Portable RF - gun style - Telxon 860IM 8x40 Vehicle mount RF - Telxon 870IM 20x40 Vehicle mount RF - IBM 2483 = Telxon 960X (no longer logoed by IBM) - IBM 2493 = Telxon 960SL (no longer logoed by IBM) - IBM 2484 = Telxon 860IM (no longer logoed by IBM) * Although the Intermec 6400 actually has 16 rows, the bottom row is used for displaying annunciators and these overwrite any text that the DCConnect Client might write to that row. + The Intermec Antares 243x models default to a font which accommodates 16 rows by 20 columns. However the font can be changed to allow up to 21 rows by 31 columns. (The Client would only use 20 of those rows). # For all Windows CE devices you can choose any dimension up to 20 rows and up to 40 columns. The operating system will pick a font that best matches the specified dimensions. Of course if you pick a large number of rows and columns and the physical screen is very small, it may be hard to read the characters. If a p follows the dimensions (e.g. 160x160p for the Intermec CK30) then the measurement is in pixels. ## The Teklogix 7035 has a number of different fonts to choose from ranging from 10x20 to 18x32. 16x20 which is used on many other devices is not available on the 7035. The closest is 18x20. *** Devices marked with 3 asterisks are ones that one or more customers are successfully running the DCConnect Client on and/or IBM has successfully tested; however, our documentation contains limited or no information about how to load and configure them. Specific sections which describe configuration requirements and hints for each of these supported terminals will follow the sections that apply to all terminals. Note: IBM also supports the legacy Norand/Intermec RF terminals in the 1100, 1700 and 5900 series. These were formerly logoed by IBM as the IBM 7524 series of terminals. However, these terminals do not run the Client directly. They can be ordered from Norand/Intermec with a special Extended Terminal Services (ETS) flash load that provides similar function to what the DCConnect Client provides. Please see our website for more information about the supported models: http://www.ibm.com/software/data/dcconnect From there, choose 'Product Downloads' and then '7524 ETS Flash Loads and CFR Samples, Programming Tools'. Hardware Requirements --------------------- If attaching via the serial port, at least one serial port that appears to the operating system as a COMx device. For example, this may be a native PC RS-232 port or an add-on RS422/485 adapter. If attaching using a TCP/IP adapter consult your DOS TCP/IP product documentation (IBM or FTP Software) or the Windows Networking documentation for the supported hardware. If a non-IBM Data Collection terminal is being used, there may be other device-specific hardware requirements - such as a PCMCIA memory card. Please refer to the following sections for more information relevant to each supported terminal: Hardware and Software Requirements for 6400 Terminals Hardware and Software Requirements for 6540 Terminals Hardware and Software Requirements for Antares Terminals Hardware and Software Requirements for Janus Terminals Hardware and Software Requirements for LanPoint/FactoryPoint/TimePoint Terminals Hardware and Software Requirements for LanPoint Pro Terminals Hardware and Software Requirements for Spectrum 24 Terminals Hardware and Software Requirements for Telxon Terminals Hardware and Software Requirements for Windows 95/98/Me/NT/2000/XP/7/Server Terminals Hardware and Software Requirements for Windows CE Devices Software Requirements --------------------- One of the following: - IBM DOS version 5.0 or later. - Windows NT 4.0 or later - Windows 95 - Windows 98 - Windows CE 2.0 or later If attaching via the serial port, no additional software support is needed If attaching using a TCP/IP adapter, one of the following TCP/IP support products (stacks) is required (unless otherwise noted in the specific device descriptions below): - IBM DOS TCP/IP Support version 2.11 (no longer orderable) - FTP Software/ PC/TCP Network Kernel for DOS NetManage At this writing, FTP Software's product number was K-210-41 which is version 4.1 of the product. Note: FTP Software is now a subsidiary of NetManage. - Novell LAN Workplace for DOS - Antares For Antares terminals, you must order the TCP/IP Connectivity Software option. - Windows For Windows NT/95/98/CE the networking support provided by the operating system is all that is required Separate Client executables are provided for each attachment method. If a non-IBM Data Collection terminal is being used, there may be other device-specific software requirements. Or the required TCP/IP stack may already be provided by the hardware manufacturer. Please refer to the following sections for more information relevant to each supported terminal: Hardware and Software Requirements for 6400 Terminals Hardware and Software Requirements for 6540 Terminals Hardware and Software Requirements for Antares Terminals Hardware and Software Requirements for Janus Terminals Hardware and Software Requirements for LanPoint/FactoryPoint/TimePoint Terminals Hardware and Software Requirements for LanPoint Pro Terminals Hardware and Software Requirements for Spectrum 24 Terminals Hardware and Software Requirements for Telxon Terminals Hardware and Software Requirements for Windows 95/98/Me/NT/2000/XP/7/Server Terminals Hardware and Software Requirements for Windows CE Devices Installation Instructions for the DCConnect Client -------------------------------------------------- With release 2.00 of the DCConnect Client, an installation procedure has been set up to install the DCConnect Client files to a Windows NT/2000/XP/7/Server system. If the DCConnect Server is already installed on that system, the files will be installed to the DCCLIENT subdirectory under the directory in which the DCConnect Server was installed. For example, if the DCConnect Server was installed into the C:\DCCONN directory, then the DCConnect Client files will be installed to the C:\DCCONN\DCCLIENT directory. If the DCConnect Server is not installed, the installation of the Client will prompt you for the directory into which the files should be installed. Note: Unlike previous versions of the DCConnect Client CD/diskettes, the files that are part of the DCConnect Client are compressed on the version 2.0 (and later) CD. Therefore you must run the installation in order to get access to the product files. Once the files are installed, the ones that you will need to use will depend on which device(s) the DCConnect Client will run on. Please see the references at the end of the previous section to get detailed instructions about how each device is to be set up and which DCConnect Client product files will be required. Some devices require special utility programs and additional configuration may be required. Installing the DCConnect Client on Windows 95/98/Me/NT/2000/XP/7/Server ----------------------------------------------------------------------- The installation of version 2.00 (and later) of the DCConnect Client also gives you the option to set up a Windows version of Client as a terminal that can be part of the DCConnect Server configuration. You can use this option to install the Windows version of the Client on one or more PCs. If you choose this option, you will be prompted for the 'Server IP' and the 'Client Port'. For the 'Server IP', enter the IP address of the DCConnect Server. If the DCConnect Server is running on the same machine as the Client, you can use the loopback address 127.0.0.1. By default the DCConnect Server uses port number 7500 to communicate with terminals. If your DCConnect Server is configured to use a different TCP/IP Port Number (page 1 of the Options tab of the Node Settings notebook), then add a comma after the IP address immediately followed by the TCP/IP Port Number that the DCConnect Server is using. For the 'Client Port' number specify the TCP/IP Port number that the DCConnect Client will use to communicate with the DCConnect Server. The Port Number for the Client must be different from the Server Port number if both are running on the same machine. Also, if you will be running more than one copy of the Client on the same machine, each must have a unique port number. After you decide which port number to use for the Client, make sure the DCConnect Server configuration for this terminal specifies that same port number. This is done on page 1 of the General tab in the Terminal Settings notebook. After the IP address, add a comma and then the port number value. Once the Windows version of the Client is installed, a shortcut will be created, which can be accessed from the Start button as follows: Start -> Programs -> IBM Data Collection -> DC Connect Client (local). If the font that is used to show the Client is not appropriate, it can be changed using the Font tab of the Properties notebook for this window (click mouse button two once on the upper left corner). Product Files ------------- The DCConnect Client is made up of many different 'flavors' of executable files so that it can be run on a variety of different devices. Some of those devices also require additional configuration files or supporting tools for loading, configuring or running the Client. All flavors of executables require the license file to be installed on the device. Also installed part of the product are the files necessary for building CFRs for use by the device running this product. For more information about these files, refer to the section CFR Headers and Libraries. The DCConnect Client product files that are installed to the \DCCONN\DCCLIENT directory are: ETSCHECK.LIC - License file; it must be in the current directory in order for the Client to run on any device. For Windows CE devices it must be in the directory specified by the 'path' value for the registry key: HKEY_LOCAL_MACHINE\Software\IBM\DCConnect Client LOGFILE.LOG - Empty transaction logfile. Needed when building Windows CE .CAB files - along with LOGFILE.NDX. LOGFILE.NDX - Empty transaction index file. Needed when building Windows CE .CAB files - along with LOGFILE.LOG. DOS-based Device-Specific files ------------------------------- 6400\6400BC.CFG - Input file for 6400 Bar code configuration 6400\6400BC.EXE - Bar code Configuration program for 6400 terminals 6400\6400_TSR.EXE - TSR needed for the Client to control the scanner. 6400\6400DISP.EXE - Tool to configure the 6400 display. ANTARES\ETSPB.EXE - DOS flavor of serial Client that runs only on the Intermec Antares line of terminals. ANTARES\ETSPT.EXE - DOS, TCP/IP-attached flavor of the Client that runs only on the Intermec Antares line of terminals. ANTARES\FLASHLDR.BIN - File needed by LOADER.EXE to load terminals ANTARES\LISTFILE.DOS - Used with DOWNLOAD.BAT to load DOS files to Antares ANTARES\LOADER.EXE - DOS-based file load utility from Intermec ANTARES\LOAD1.BAT - Batch file for loading a single file to the terminal ANTARES\LOAD2.BAT - Batch file for loading two files to the terminal ANTARES\SETUPANT.EXE - Utility program for changing Antares configuration ANTARES\T24FCOPY.EXE - Windows-based file load utility provided by Intermec. It can be used to upload or download files to Antares terminals. ANTARES\T24FCOPY.HLP - Help file for T24FCOPY.EXE ANTARES\USER.BAT - Called by AUTOEXEC.BAT to start Client automatically ANTARES\SAMPLE\DOWNLOAD.BAT - Sample download batch file to use with LOADER.EXE ANTARES\SAMPLE\EM.BAT - Sample EM.BAT for Antares ANTARES\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Antares ANTARES\SAMPLE\S.BAT - Easier-to-type sample batch file for calling SETUPANT.EXE ANTARES\SAMPLE\SETUPANT.INI - Sample input file for SETUPANT.EXE ANTARES\SAMPLE\UPGRADE.BAT - Alternate UPGRADE.BAT used when loading Intermec flash to Antares terminals. FALCON\FALC_TSR.EXE - TSR needed by the Client in order to distinguish between keyboard and scanner input on the PSC/Percon Falcon and its twin the LXE MX2. LANPTPRO\PREPOST.EXE - Utility for configuring the bar code pre/postamble on the Intelligent Instrumentation LanPoint Pro (aka Symbol FMT3000). SPEC24\CFG3000.EXE - Configuration utility for Symbol Spectrum 24 terminals. It modifies INIT.EXE. SPEC24\ETSPT.EXE - DOS, TCP/IP-attached flavor of Client used by the Symbol Spectrum 24 terminals. It uses Novell's LAN Workplace for DOS. The terminals are shipped by Symbol with the Novell software installed. SPEC24\FLSHBLD.ZIP - Zip file containing the set of files used when flashing the Symbol Spectrum 24 terminal. SPEC24\S24_TSR.EXE - Required for use of the scanner and Serial port on Symbol Spectrum 24 terminals TELXON\HHB.EXE - Flavor of Telxon's HandHeld Bridge that runs on the PC TELXON\HHB.TXT - Documentation for Telxon's HHB.EXE TELXON\HHBR.EXE - Flavor of Telxon's HandHeld Bridge that runs on the terminal TELXON\HHBR.TXT - Documentation for Telxon's HHBR.EXE TELXON\TELXONBC.EXE - Bar code Configuration program for Telxon terminals TELXON\TELXONBC.CFG - Input file for Telxon Bar code configuration TELXON\T870_TSR.EXE - TELX_TSR.EXE for use on PTC870; it is required for any scanner use on this terminal TELXON\TELX_TSR.EXE - Optional TSR for Telxon 960SL/X, 860IM; provides RS-232 support and enhanced scanner support TELXON\WANDTSR.EXE - TSR required for scanner support on Telxon 960SL/X, 860IM Two DOS Flavors of the Client that Communicate to DCConnect Serially -------------------------------------------------------------------- SERIAL\ETSPB.EXE - Serial-attached flavor of the Client for use on DOS devices. SERIAL\NLS\ETSPB.EXE - DOS flavor of serial Client built with different video routines that use whatever code page is set in DOS for displaying characters. Does not work on all devices (but does work on Janus 2050). Various DOS flavors of the Client for different TCP/IP stacks ------------------------------------------------------------- TCP_FTP\ETSPT.EXE - DOS, TCP/IP-attached flavor of the Client requiring FTP Software's PC/TCP Network Kernel for DOS. TCP_FTP\NLS\ETSPT.EXE - DOS flavor of TCP/IP Client for FTP stack built with different video routines that use whatever code page is set in DOS for displaying characters. Does not work on all devices (but does on Janus 2050). TCP_IBM\ETSPT.EXE - DOS, TCP/IP-attached flavor of the Client requiring IBM DOS TCP/IP Support. Also runs in a full screen DOS session of OS/2. TCP_NOV\ETSPT.EXE - DOS, TCP/IP-attached flavor of Client requiring Novell's LAN Workplace for DOS. TCP_VSL\ETSPT.EXE - DOS, TCP/IP-attached flavor of Client that requires the Virtual Socket Library from JSB Software. Client Files for Use on 32/64-bit Windows Platforms (95/98/Me/NT/2000/XP/7/Server) ---------------------------------------------------------------------------------- WIN32\ETSPT.EXE - Windows flavor of Client. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in WIN32\ETSPT.DLL. WIN32\ETSPT.DLL - Windows flavor of Client functionality; requires WIN32\ETSPT.EXE to start it. WIN32\ETSSCRPT.DLL - Windows flavor of Client DLL for support of text script file processing. WIN32\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the 32-bit Windows flavor of the Client. NMWIN32.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Windows platforms. Also used with the various Windows makefiles that are part of the CFR packages. Client Files for Use on Windows CE Devices ------------------------------------------ MAKECAB.BAT - Used to build Windows CE .CAB files from .INF files DCCLIENT.INF - Sample .INF file used to create DCConnect Client .CAB files for the various flavors of Windows CE devices. CECONFIG.VB - Microsoft eMbedded Visual Basic executable for the IBM CE Config Tool. This tool uses an .INI file to set up registry values, create files, and perform file and directory operations for the purpose of automating the configuring a Windows CE device. Provides the ability to prompt the user for certain values, including the ability to provide a list of valid choices, while automating the setting of any values that would not change. CECONFIG.INI - Sample .INI file used by the IBM CE Config Tool. Includes sample commands for setting registry keys and creating a file. GETREG.VB - Microsoft eMbedded Visual Basic executable for the Get Registry tool. ETSUSER.C - Sample source for building Windows CE DLL needed on some devices to run the Client in 'full-screen' mode. Also can be used to add customer menu items to the Client's pull-down menus. ETSUSER.DEF - Sample module definition file to go with ETSUSER.C ETSUSER.VCN - Microsoft eMbedded Visual Toolkit Version 3.0 make file used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. ETSUSER.VCP - Microsoft eMbedded Visual Toolkit Version 3.0 project file used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. ETSUSER.VCW - Make file generated by Microsoft eMbedded Visual Toolkit Version 3.0; used to build various flavors of ETSUSER.DLL from the source files ETSUSER.C and ETSUSER.DEF. NMCK30.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec CK30. Also used with the various Windows CE makefiles that are part of the CFR packages. NMCV60.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec CV60. Also used with the various Windows CE makefiles that are part of the CFR packages. NMI5020.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 5020 (running Windows CE 3.0 or later). Also used with the various Windows CE makefiles that are part of the CFR packages. NMI600.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 600. Also used with the various Windows CE makefiles that are part of the CFR packages. NMI6651.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 6651. Also used with the various Windows CE makefiles that are part of the CFR packages. NMI700.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intermec 700. Also used with the various Windows CE makefiles that are part of the CFR packages. NMS90XX.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Symbol 90xx terminals. Also used with the various Windows CE makefiles that are part of the CFR packages. Can also be used for 91xx terminals. NMLPTCE.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the Intelligent Instrumentation LanPoint CE. Also used with the various Windows CE makefiles that are part of the CFR packages. NMX86EM.BAT - Batch file to use with the makefile ETSUSER.VCN in order to build ETSUSER.DLL for the MS Pocket PC Emulation environment. Also used with the various Windows CE makefiles that are part of the CFR packages. Windows CE Device with ARM Processor - but not Pocket PC API Available ---------------------------------------------------------------------- ARMNOPPC\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for use on devices with an Intel StrongARM processor or compatible and with Windows CE 3.0 or compatible later version but which are not Pocket PC devices. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in ARMNOPPC\ETSPT.DLL. ARMNOPPC\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for use on devices with an Intel StrongARM processor or compatible and with Windows CE 3.0 or compatible later version but which are not Pocket PC devices; requires ARMNOPPC\ETSPT.EXE to start it. This flavor of ETSPT.DLL is similar to the IMEC700\ETSPT.DLL except that it does not require the Pocket PC library AGYSHELL.DLL. ARMNOPPC\ETSSCRPT.DLL - Intel StrongARM Client DLL containing text file processing. Interemc CK30 (XScale processor, Windows CE) -------------------------------------------- CK30\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec CK30 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in CK30\ETSPT.DLL. CK30\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec CK30 terminal; requires CK30\ETSPT.EXE to start it. CK30\ETSSCRPT.DLL - Intermec CK30 Client DLL containing text file processing. CK30\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec CK30 CK30\SAMPLE\CK30.CAB - Sample cabinet file for installing the Client onto the Intermec CK30. Built using MAKECAB.BAT and CK30\SAMPLE\CK30.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC, and ETSSCRPT.DLL. CK30\SAMPLE\CK30.INF - Sample .INF file used with MAKECAB.BAT for creating CK30.CAB. Interemc CV60 (Intel P-III processor, Windows CE / Windows XP Embedded) ------------------------------------------------------------------------ CV60\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec CV60 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in CV60\ETSPT.DLL. CV60\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec CV60 terminal; requires CV60\ETSPT.EXE to start it. CV60\ETSSCRPT.DLL - Intermec CV60 Client DLL containing text file processing. CV60\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec CV60 CV60\SAMPLE\CV60.CAB - Sample cabinet file for installing the Client onto the Intermec CV60. Built using MAKECAB.BAT and CV60\SAMPLE\CV60.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC, and ETSSCRPT.DLL. CV60\SAMPLE\CV60.INF - Sample .INF file used with MAKECAB.BAT for creating CV60.CAB. Interemc 5020 (Hitachi SH3 processor, running Windows CE 3.0 or later) ---------------------------------------------------------------------- IMEC5020\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec 5020 terminal (running Windows CE 3.0). Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC5020\ETSPT.DLL. IMEC5020\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec 5020 terminal (running Windows CE 3.0); requires IMEC5020\ETSPT.EXE to start it. IMEC5020\ETSSCRPT.DLL - Intermec 5020 Client DLL containing text file processing. IMEC5020\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 5020 IMEC5020\SAMPLE\IMEC5020.CAB - Sample cabinet file for installing the Client onto the Intermec 5020 (running Windows CE 3.0). Built using MAKECAB.BAT and IMEC5020\SAMPLE\IMEC5020.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC and ETSSCRPT.DLL. IMEC5020\SAMPLE\IMEC5020.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC5020.CAB. Intermec 600 (AMD 486 processor, Windows CE 2.12) ------------------------------------------------- Note: script text file processing is not supported on the Intermec 600 terminal due to there being no support for C++ exception handling on this platform. IMEC600\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec 600 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC600\ETSPT.DLL. IMEC600\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec 600 terminal; requires IMEC600\ETSPT.EXE to start it. IMEC600\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 600 IMEC600\SAMPLE\IMEC600.CAB - Sample cabinet file for installing the Client onto the Intermec 600. Built using MAKECAB.BAT and IMEC600\SAMPLE\IMEC600.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI and ETSCHECK.LIC. IMEC600\SAMPLE\IMEC600.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC600.CAB. Interemc 6651 (Toshiba MIPS processor, running Windows CE 3.0 or later) ----------------------------------------------------------------------- IMEC6651\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec 6651 terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC6651\ETSPT.DLL. IMEC6651\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec 6651 terminal; requires IMEC6651\ETSPT.EXE to start it. IMEC6651\ETSSCRPT.DLL - Intermec 6651 Client DLL containing text file processing. IMEC6651\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 6651 IMEC6651\SAMPLE\IMEC6651.CAB - Sample cabinet file for installing the Client onto the Intermec 6651. Built using MAKECAB.BAT and IMEC6651\SAMPLE\IMEC6651.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC and ETSSCRPT.DLL. IMEC6651\SAMPLE\IMEC6651.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC6651.CAB. Intermec 700 (Intel ARM processor or compatible, running Windows CE or later) ----------------------------------------------------------------------------- Note: Intermec 700's that have Pocket PC 4.x or later can use the DCConnect Client build fles found in SYM90XX - which provides full support for text file processing. Intermec 700's with Pocket PC 3.x must use the files in IMEC700 which do not support text based processing due to the lack of exception handling in Pocket PC 3.x. IMEC700\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intermec 700 terminal with Pocket PC 3.x. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in IMEC700\ETSPT.DLL. IMEC700\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Intermec 700 terminal with Pocket PC 3.x; requires \IMEC700\ETSPT.EXE to start it. IMEC700\ETSUSER.DLL - Sample ETSUSER.DLL built for the Intermec 700 using ETSUSER.C and the other source files above. IMEC700\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Intermec 700 IMEC700\SAMPLE\IMEC700.CAB - Sample cabinet file for installing the Client onto the Intermec 700. Built using MAKECAB.BAT and IMEC700\SAMPLE\IMEC700.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC and ETSUSER.DLL. IMEC700\SAMPLE\IMEC700.INF - Sample .INF file used with MAKECAB.BAT for creating IMEC700.CAB. LanPoint CE (AMD 486 processor, Windows CE 3.0) ----------------------------------------------- Note: Note: script text file processing is not supported on the LanPoint CE terminal due to there being no support for C++ exception handling on this platform. LANPTCE\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Intelligent Instrumentation LanPoint CE terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in LANPTCE\ETSPT.DLL. LANPTCE\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the LanPoint CE terminal; requires LANPTCE\ETSPT.EXE to start it. LANPTCE\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for LanPoint CE LANPTCE\SAMPLE\LANPTCE.CAB - Sample cabinet file for installing the Client onto the LanPoint CE. Built using MAKECAB.BAT and LANPTCE\SAMPLE\LANPTCE.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI and ETSCHECK.LIC. LANPTCE\SAMPLE\LANPTCE.INF - Sample .INF file used with MAKECAB.BAT for creating LANPTCE.CAB. Symbol 81xx (compatible with Intermec 700) ------------------------------------------ SYM81XX\SAMPLE\CECONFIG.INI - Sample CECONFIG.INI for Symbol 81xx SYM81XX\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Symbol 81xx SYM81XX\SAMPLE\SYM81XX.CAB - Sample cabinet file for installing the Client onto the Symbol 81xx. Built using MAKECAB.BAT and SYM81XX\SAMPLE\SYM81XX.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI and ETSCHECK.LIC. SYM81XX\SAMPLE\SYM81XX.INF - Sample .INF file used with MAKECAB.BAT for creating SYM81XX.CAB. Symbol 90xx (Intel ARM processor or compatible, running Windows CE or later) ---------------------------------------------------------------------------- SYM90XX\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Symbol MC90xx terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in SYM90XX\ETSPT.DLL. SYM90XX\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Symbol MC90xx terminal; requires SYM90XX\ETSPT.EXE to start it. SYM90XX\ETSSCRPT.DLL - Symbol MC90xx Client DLL containing text file processing. SYM90XX\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for Symbol MC90xx SYM90XX\SAMPLE\SYM90XX.CAB - Sample cabinet file for installing the Client onto the Symbol MC90xx. Built using MAKECAB.BAT and SYM90XX\SAMPLE\SYM90XX.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC, and ETSSCRPT.DLL. SYM90XX\SAMPLE\SYM90XX.INF - Sample .INF file used with MAKECAB.BAT for creating SYM90XX.CAB. Symbol 91xx (Intel ARM processor or compatible, running Windows CE or later) ---------------------------------------------------------------------------- This flavor of the Client handles the VGA resolution of the Symbol 91xx and other compatible devices. SYM91XX\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Symbol MC91xx terminal. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in SYM91XX\ETSPT.DLL. SYM91XX\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Symbol MC91xx terminal; requires \SYM91XX\ETSPT.EXE to start it. SYM91XX\ETSSCRPT.DLL - Symbol MC91xx Client DLL containing text file processing. Pocket PC Emulator (Debug Build) -------------------------------- X86EMDBG\ETSPT.EXE - Windows CE TCP/IP Sockets flavor of Client for the Microsoft Pocket PC Emulation Environment. Uses networking support that is provided by the operating system. This is the stub executable that is run to start the Client; the majority of the program is in X86EMDBG\ETSPT.DLL. X86EMDBG\ETSPT.DLL - Windows CE TCP/IP Sockets flavor of Client DLL for the Pocket PC Emulator; requires X86EMDBG\ETSPT.EXE to start it. X86EMDBG\ETSSCRPT.DLL - Pocket PC Emulator Client DLL containing text file processing. X86EMDBG\SAMPLE\EMULATOR.INI - Sample EMULATOR.INI for the Pocket PC Emulator X86EMDBG\SAMPLE\X86EMDBG.CAB - Sample cabinet file for installing the Client onto the Pocket PC Emulator. Built using MAKECAB.BAT and X86EMDBG\SAMPLE\X86EMDBG.INF. Installs ETSPT.EXE, ETSPT.DLL, LUCON.TTF, LOGFILE.NDX, LOGFILE.LOG, EMULATOR.INI, ETSCHECK.LIC, and ETSSCRPT.DLL. X86EMDBG\SAMPLE\X86EMDBG.INF - Sample .INF file used with MAKECAB.BAT for creating X86EMDBG.CAB. Files Used for Building CFRs to Run with the Client (DOS, 32-bit Windows, Windows CE) ------------------------------------------------------------------------------------- CFRTOOLS\CFRAPI24.H - Header file required for compiling all CFRs CFRTOOLS\CFRWIN32.H - Header file required for compiling Win32 and CE CFR DLLs CFRTOOLS\BORLAND\CFRAPI24.LIB - Library file required for linking when building CFRs with Borland Turbo C++ 3.0 for DOS CFRTOOLS\IBMC2\CFRAPI24.LIB - Library file required for linking when building CFRs with IBM C/2 1.10 CFRTOOLS\CK30\CFRAPICE.LIB - Library file required for linking CFR built for Intermec CK30 terminals CFRTOOLS\CV60\CFRAPICE.LIB - Library file required for linking CFR built for Intermec CV60 terminals CFRTOOLS\IMEC600\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 600 terminals CFRTOOLS\IMEC700\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 700 terminals CFRTOOLS\IMEC5020\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 5020 terminals (running Windows CE 3.0) CFRTOOLS\IMEC6651\CFRAPICE.LIB - Library file required for linking CFR built for Intermec 6651 terminals CFRTOOLS\LANPTCE\CFRAPICE.LIB - Library file required for linking CFR built for Intelligent Instrumentation LanPoint CE terminals CFRTOOLS\SYM90XX\CFRAPICE.LIB - Library file required for linking CFR built for Symbol MC90xx terminals. Can also be used for MC91xx cfrs. CFRTOOLS\X86EMDBG\CFRAPICE.LIB - Library file required for linking CFR built for MS Pocket PC Emulation Environment CFRTOOLS\WIN32\CFRAPI32.LIB - Library file required for linking 32-bit Windows CFRs CFRTOOLS\CFRUTL24.RME - README file describing the files in the CFR utility library package in more detail. CFRTOOLS\CFRUTL24.HTM - More detailed documentation about each utility routine. CFRTOOLS\CFRUTL24.H - Include file use in building the CFR utility library - and needed when building a CFR that uses the routines in this library. CFRTOOLS\*.C - Source files used to build the utility library. See CFRTOOLS\CFRUTL24.RME for a description of each. CFRTOOLS\CFRUTL24.MAK - Used for building the flavor of CFR utility library for either the Borland Turbo C++ 3.0 for DOS compiler or the IBM C/2 1.10 compiler. CFRTOOLS\CFRUTL32.DSP - Project file used with MS Visual Studio for building / working with the 32-bit Windows flavor of the CFR utility library. CFRTOOLS\CFRUTL32.DSW - Workspace file used with MS Visual Studio for building / working with the 32-bit Windows flavor of the CFR utility library. CFRTOOLS\CFRUTL32.MAK - Generated by MS Visual Studio for building the 32-bit Windows flavor of the CFR utility library CFRTOOLS\NMWIN32.BAT - Batch file used to build the 32-bit Windows flavor of the CFR utility library. Uses CFRTOOLS\CFRUTL32.MAK. CFRTOOLS\CFRULT40.VCN - MS Embedded Visual C++ Version 4.0 makefile, generated by the build environment when loaded from cfrutl40.vcw. Used by several of the build batch files below that build the various CE flavors of the utility library, cfrutlce.lib, for devices that run Windows CE 4.x and later (in subdirectories CK30, CV60, SYM90XX...) CFRTOOLS\CFRULT40.VCP - MS Embedded Visual C++ Version 4.0 project file used for building some of the various flavors of cfrutlce.lib. See cfrutl40.vcn file above for more details. CFRTOOLS\CFRULT40.VCW - MS Embedded Visual C++ Version 4.0 workspace file used for building some of the various flavors of cfrutlce.lib. See cfrutl40.vcn file above for more details. CFRTOOLS\CFRULTCE.VCN - MS Embedded Visual C++ Version 3.0 makefile, generated by the build environment when loaded from cfrutlce.vcw. Used by several of the build batch files below that build the various CE flavors of the utility library, cfrutlce.lib, for devices that run Windows CE 3.x and earlier (in subdirectories IMEC600, IMEC700, ...) CFRTOOLS\CFRULTCE.VCP - MS Embedded Visual C++ Version 3.0 project file used for building many of the various flavors of cfrutlce.lib. See cfrutlce.vcn file above for more details. CFRTOOLS\CFRULTCE.VCW - MS Embedded Visual C++ Version 3.0 workspace file used for building many of the various flavors of cfrutlce.lib. See cfrutlce.vcn file above for more details. CFRTOOLS\NMCK30.BAT - Batch file for building Intermec CK30 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTL40.VCN. CFRTOOLS\NMCV60.BAT - Batch file for building Intermec CV60 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTL40.VCN. CFRTOOLS\NMI600.BAT - Batch file for building Intermec 600 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI700.BAT - Batch file for building Intermec 700 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI5020.BAT - Batch file for building Intermec 5020 (running Windows CE 3.0) flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMI6651.BAT - Batch file for building Intermec 6651 flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMLPTCE.BAT - Batch file for building Intelligent Instrumentation LanPoint CE flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTLCE.VCN. CFRTOOLS\NMS90XX.BAT - Batch file for building Symbol MC90xx flavor of cfrutlce.lib. Uses CFRTOOLS\CFUTL40.VCN. Can also be used for MC91xx CFRs. CFRTOOLS\NMX86EM.BAT - Batch file for building the MS Pocket PC Emulator flavor of cfrutlce.lib. Uses CFRTOOLS\CFRUTLCE.VCN. CFRTOOLS\BORLAND\CFRUTL24.LIB - Utility library file used when linking CFRs built with Borland Turbo C++ 3.0 for DOS CFRTOOLS\IBMC2\CFRUTL24.LIB - Utility library file used when linking CFRs built with IBM C/2 1.10 CFRTOOLS\CK30\CFRUTLCE.LIB - The utility library for use on Intermec CK30 terminals CFRTOOLS\CV60\CFRUTLCE.LIB - The utility library for use on Intermec CV60 terminals CFRTOOLS\IMEC600\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 600 terminals CFRTOOLS\IMEC700\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 700 terminals CFRTOOLS\IMEC5020\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 5020 terminals (running Windows CE 3.0) CFRTOOLS\IMEC6651\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intermec 6651 terminals CFRTOOLS\LANPTCE\CFRUTLCE.LIB - Utility library file used when linking CFRs built for Intelligent Instrumentation LanPoint CE terminals CFRTOOLS\SYM90XX\CFRUTLCE.LIB - The utility library for use on Symbol MC90XX terminals. Can also be used for MX91xx terminals. CFRTOOLS\X86EMDBG\CFRUTLCE.LIB - Utility library file used when linking CFRs built for the MS Pocket PC Emulator. CFRTOOLS\WIN32\CFRUTL32.LIB - Utility library file used when linking CFRS built for 32-bit Windows. CFRTOOLS\CFRSMP24.ZIP - Sample CFR package. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices CFRTOOLS\CFRPAN24.ZIP - Input panel driver CFR package. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices CFRTOOLS\CFRUTL24.ZIP - Package of useful utility routines to include in CFRs. Source, make and library files included for DOS, 32-bit Windows and Windows CE devices Note: This package is no longer included as a .ZIP file in the product. Instead its contents are included, already expanded, into the CFRTOOLS directory (e.g. cfrutl24.h, ibmc2\cfrutl24.lib, ...) See CFRTOOLS\CFRUTL24.RME for a complete list of files. The CD installation also adds the following files to the \DCCONN\HELP directory: DCCLIENT.HTM - This file 7524ETS.HTM - Technical Reference for DCConnect Client - includes information about CFR APIs, internal file formats and the communications protocol. E9GWROOT.HTM - Part of Technical Reference E9GWTOC.HTM - Part of Technical Reference The CD itself contains a \MANUALS subdirectory that includes the DCConnect Client documentation along with documentation for most of the other IBM Data Collection products. To bring up an index of these manuals, just point your browser to: file:///d:\manuals\index.htm where d: is the letter for your CD drive, and you will see the list of manuals provided. Installation Hints for the FTP Software TCP/IP Stack ---------------------------------------------------- In many cases, you will need to install files from the FTP Software product, PCTCP Network Kernel for DOS. Note: FTP Software is now a subsidiary of NetManage. While some files can simply be copied from the diskettes, others are on the diskettes in a packed format and must be expanded. From a DOS session in either OS/2 or Windows/NT you can run a program called EXPAND.EXE which can expand the compressed files on to your harddrive. The program takes two parameters, the source file name and the target file name. For example: expand a:\odipkt.co_ odipkt.com Listed below are files that you may need from the PCTCP product and how to get them. The location of these files is based on version 4.1 of the PCTCP product. ethdrv.exe --> Using diskette 2: copy a:\ethdrv.exe dis_pkt.gup --> Using diskette 3: expand a:\dis_pkt.gu_ dis_pkt.gup odipkt.com --> Using diskette 3: expand a:\odipkt.co_ odipkt.com netbind.com --> Using diskette 3: expand a:\netbind.co_ netbind.com protman.dos --> Using diskette 3: expand a:\protman.do_ protman.dos protman.exe --> Using diskette 3: expand a:\protman.ex_ protman.exe Authentication Key and Serial Number Entries in the .INI file ------------------------------------------------------------- The original versions of the PCTCP product required that each device on the network running the software must use the unique serial-number and authentication key that are specified for each unique license. These parameters are defined in the .INI file (PCTCP.INI, LPTCP.INI, ...) for the network parameters in the section [pctcp kernel]. For example: [pctcp kernel] serial-number = aaaa-bbbb-cccc ; Fill in the unique serial # authentication-key = xxxx-yyyy-zzzz ; Fill in the unique key interface = ifcust 0 Using these original versions, a message about duplicate licenses would be displayed if two devices were using the same serial-number and key. More current versions of the network drivers that are provided by the terminal manufacturers - and possibly by FTP Software themselves - no longer require these entries in the .INI file. However, it is still necessary to purchase a license of the PCTCP product for each device - just as it is necessary to purchase a license of the DCConnect Client for each device that will be running it. Note: many times the terminal manufacturer will resell the drivers from FTP Software and provide an option to have them preinstalled on the terminal. In these cases, you would not have to purchase a separate license directly from FTP Software; the license for each device is obtained from the terminal manufacturer instead. Common Command Line Parameters for the Client --------------------------------------------- There are a few command line parameters that can be used whether you are running the serial-attached or one of the TCP/IP-attached flavors of the Client. Note: As of version 1.40H, with the exception of the -M and -F parameters all command line parameters can now be defined in the EMULATOR.INI file. For more details, see Configuration using EMULATOR.INI Attach-specific command line parameters are covered in the following two sections. The format of the common parameters (used with etspb) is: etspb [-DDevice] [-Ffilename] [-M] [-Sscriptname] [-O=option] where: '-DDevice' indicates the type of device the Client is running on. The Client must behave different ways for the various supported devices. Choices for 'Device' are: LANPOINT - for the Intelligent Instrumentation LanPoint FACTORYPOINT - for the Intelligent Instrumentation FactoryPoint TIMEPOINT - for the Intelligent Instrumentation TimePoint LANPOINTPRO - for the Intelligent Instrumentation LanPoint Pro INTERMEC6400 - for the Intermec/Norand 6400 INTERMEC6540 - for the Intermec 6540 (MaxiLAN replacement) INTERMEC5020 - for the Intermec Windows CE 5020 MAXILAN - for the Intermec MaxiLAN DX ANTARES16x20 - for any Intermec Antares with 16x20 display ANTARES20x40 - for any Intermec Antares with 20x40 display ANTARES12x40 - for any Intermec Antares with 12x40 display ANTARES4x40 - for any Intermec Antares with 4x40 display ANTARES2x16 - for any Intermec Antares with 2x16 display JANUS - for the Janus 2010 or 2020 JANUS2010 - for the Janus 2010 or 2020 JANUS2020 - for the Janus 2010 or 2020 JANUS2050 - for the Janus 2050 FMT10X0 - for the Symbol FMT1020, FMT1040 or FMT1060 FMT3000 - for the Symbol FMT3000 LRT3840 - for the Symbol LRT3840 VRC3940 - for the Symbol VRC3940 or VRC6940 PDT3140 - for the Symbol PDT3140 WSS1040 - for the Symbol WSS1040 or WSS1060 PDT6840 - for the Symbol PDT6840 PTC960 - for the Telxon 960SL or 960X PTC860 - for the Telxon 860IM PTC870 - for the Telxon 870IM One of the above names should immediately follow the -D on the command line. If you don't see the device you are using listed above, you may not need to use the -D parameter - although you may still want to set up some parameters in EMULATOR.INI to change some default parameters such as NUM_ROWS and NUM_COLS. If the Client is running on a PC, this parameter is not needed. '-Ffilename' indicates the name of a configuration file from which to read parameters. Use the up-to-8-character name you previously used when saving the configuration from the Client menus. The actual file name has the extension .SER or .TCP added to the end of whatever name was picked from the menus. The very first time you run the Client, you would not use this parameter - unless you used a configuration file from another system. Note 1: Now that all parameters can be defined in EMULATOR.INI, the -F parameter and the corresponding configuration file can be replaced by the addition of the appropriate keywords to EMULATOR.INI. For more details, please see Configuration using EMULATOR.INI. Note 2: If this option is to be used and a specific device is specified using the -D parameter, you must set the STATUS ROW option in the menus as appropriate for the device the Client will be running on before saving the configuration to file. Normally, the -d parameter sets the status row appropriately. But using a configuration file with the -f parameter will override the device's default assigned value. And if the menu default value (row 20) is not visible on the device, the device will appear as if it is not working. Another way to resolve this problem is to eliminate the use of the -F command line parameter and the corresponding configuration file and instead to add to the EMULATOR.INI file any parameters that were previously set using the menus. '-M' This parameter tells the Client to start in the menus and not try to start up communications. Because the communications are not being started, the Client can be run from the PC with the EMULATOR.INI file (and license file) in the same directory. You can then verify that the configuration file is set up properly by using the VIEW SETTINGS option in the menus. This option is not valid for Antares terminals because the Antares flavor of the program can only run inside the Antares terminal. Note: Prior to version 1.40H this option allowed you to go into the menus and make configuration changes and then save them to file - without actually running the Client However, starting with version 1.40H, the configuration screens have been removed from the menus and all configuration is done via EMULATOR.INI (although for backwards compatability the -f option can still be used to read a previously created configuration file. Once in the menus, the VIEW SETTINGS option can be selected to verify that all configuration parameters have been set up as expected. After you have reviewed the settings and then go to exit the menus, the program will end without trying to start communications with the DCConnect Server. This option is useful when trying to verify a configuration for a device like the Intermec 6540 or Intelligent Instrumentation LanPoint/FactoryPoint/Timepoint terminals which only have a few rows. The menus sometimes use up more rows then the device might have available. In these situations, it is better to run the Client on a PC with the -M option to verify the configuration for the device. If you would normally use the -D parameter when running the Client on a particular device, then when you use the -M parameter you should also use the -D parameter. For example, to view the configuration for an Intermec 6540 terminal enter the following when running from a PC: etspt -m -dINTERMEC6540 Using the -M option, the DOS flavors of the Client can run on a true DOS machine or in a full-screen DOS session of OS/2, Windows/NT or Windows/95. Note that the DOS flavor of the Client cannot run in a windowed DOS session on any of these other operating systems. -Sscriptname specifies that the Client should load transaction programs and the rest of its configuration from the specified script text file. See the EMULATOR.INI keyword equivalent to this, SCRIPT_NAME for more information about script files. The command line setting will override the .INI file setting if both are present. -O=option used to enable one or more options. If more than one option needs to be enabled, use this command line option multiple times. Possible choices for "=option" are: =Compile_Only Use this option in conjunction with -S to tell the Client only to compile the script file; don't actually run it. For more details see Keyword: COMPILE_ONLY. =DONT_USE_IMBED_PATHS Use this option to tell the Client to ignore any paths found in IMBED commandsin downloaded script files. Instead the Client should look for the specified script file in the same directory that it looks for EMULATOR.INI. =LOG_COMPILE_WARNINGS Use this option to tell the Client, when compiling a text script, to log to ETSPT.MSG any warning messages that occur. By default, warnings are not logged because there can be hundreds of them and logging them can affect performance during the download process. Starting the Serial-Attached Flavor of the Client ------------------------------------------------- In order to run the serial-attached flavor of the Client, issue the following command on the command line: etspb [-Ffilename] [-DDevice] [-M] [-Sscriptname] [-O=option] [-Cc] [-Aa] [-Bbbbb] where: -Ffilename is described 'Common Command Line Parameters for the Client' above. -DDevice is described 'Common Command Line Parameters for the Client' above. -M is described 'Common Command Line Parameters for the Client' above. -Sscriptname is described 'Common Command Line Parameters for the Client' above. -O=option is described 'Common Command Line Parameters for the Client' above. -Cc indicates which COM port to use. Valid choices are 1 to 4. If this parameter is not specified, COM1 is used. -Aa indicates which terminal address to use. Valid choices are A to Y and 0 to 6. If this parameter is not specified, the value * is used - indicating an address has not been configured. -Bbbbb indicates which baud rate to use. Valid choices are 300, 1200, 2400, 4800, 9600, 19200, or 38400. If this parameter is not specified, a baud rate of 19200 is used. Typically you would specify the configuration file name without specifing any other parameters. However, if both are specified, the command line parameters would override any parameters that are part of the specified configuration. When entering parameters, upper or lower case can be used. Do not include the square brackets shown above; those brackets indicate the parameters which are optional. As an example, to run the Client on an Intermec 6540 terminal using address F on COM2 using baud rate 19200, the following would be entered on the command line: etspb -dINTERMEC6540 -c2 -aF Starting the TCP/IP-Attached Flavor of the Client ------------------------------------------------- Regardless of which TCP/IP product support is being used, to run the TCP/IP- attached flavors of the Client, issue the following command on the command line: etspt [-Ffilename] [-DDevice] [-M] [-Sscriptname] [-O=option] [-Nname] [-Ppppp] [-Ha.b.c.d,pppp] where: -Ffilename is described 'Common Command Line Parameters for the Client' above. -DDevice is described 'Common Command Line Parameters for the Client' above. -M is described 'Common Command Line Parameters for the Client' above. -Sscriptname is described 'Common Command Line Parameters for the Client' above. -O=option is described 'Common Command Line Parameters for the Client' above. -Nname specifies the terminal name that this Client represents. It is equivalent to the TERM_NAME parameter in EMULATOR.INI. The command line setting will override the .INI file setting if both are present. For more details, see Keyword: TERM_NAME -Ppppp indicates the IP port number to use for the Client. The range is 2000 to 9999. If this parameter is not specified, 7500 is used for the IP port number. The -P parameter is the command line equivalent to the TCPIP_PORT parameter in EMULATOR.INI. The command line setting will override the .INI file setting if both are present. This parameter is ignored on Antares terminals because the Network Port is set in the Antares menus - or using the SETUPANT.EXE utility. For more information about the Antares menus and the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. -Ha.b.c.d,pppp indicates the IP address and IP port number of the DCConnect Server. If this parameter is specified, you must use a valid IP address followed by a comma and the IP port number. Do NOT put spaces anywhere in the parameter. If you omit the comma and port number, the default port number, 7500, is assumed for the host. The -H parameter is the command line equivalent to the TCPIP_HOST parameter in EMULATOR.INI. The command line setting will override the .INI file setting if both are present. Starting with version 2.10 of the Client, you also have the option to specify the hostname of the DCConnect Server instead of its IP address. (Except for Symbol Spectrum 24 terminals such as the PDT6840, VRC6940 and WSS1040). For example, if the Windows flavor of the Client is running on the same PC as the Server, the DCConnect server and port could be specified as: -hlocalhost,7500 Also, start with version 2.10 of the Client, a colon can be used instead of the comma: -hlocalhost:7500 Note: Depending on the network setup, it may be necessary to give the fully qualified network name (hostname@domain). For example: -hdcserver@ibm.com,7500 This parameter is ignored on Antares terminals because the Controler IP Address is set in the Antares menus - or using the SETUPANT.EXE utility. For more information about the Antares menus and the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. Using this parameter, causes an 'I-am-here' message to be sent to the DCConnect Server as soon as the the Client is started - which should result in the start of the download in a matter of seconds. If this parameter is not specified, the Client waits for the DCConnect Server to issue a slow poll to the to the Client's IP address and port number before it communicates at all. Typically the data collection server will issue the slow poll once a minute unless its configuration has increased that value. The previous two paragraphs are true for all but the Antares terminal. Because the Antares terminal uses stream sockets, it is the one that will continually make attempts to communicate with the DCConnect Server - every 90 seconds until it is successful. When entering parameters, upper or lower case can be used. Do not include the square brackets shown above; those brackets indicate the parameters which are optional. Typically you would specify the configuration file name without specifing any other parameters. However, if both are specified, the command line parameters would override any parameters that are part of the specified configuration. As an example, to run the Client on an Intelligent Instrumentation FactoryPoint terminal using port number 7501 when communicating with the DCConnect Server whose IP address is 3.1.65.99 and whose IP port number is 7500, the following would be entered on the command line: etspt -dFACTORYPOINT -p7501 -h3.1.65.99,7500 Menus ----- Note: As of version 1.40H, all configuration screens have been removed from the menus. Instead all parameters can now be configured by adding parameters to the EMULATOR.INI file. For more information, please see Configuration using EMULATOR.INI. The menus now only provide options for diagnostics and for viewing the version of the Client and its current configuration. At any time, the Client menus can be brought up by pressing the Home key, the equal sign or question mark key. Note: If the device being used has less than 8 rows, it is probably better to try and view the configuration from a PC rather than on the device itself. Refer to the description of the -M parameter in the section Common Command Line Parameters for the Client. While the menus are displayed, communications with the data collection server continue to go on. So you could, for example, enter the menus while a download to the Client is in progress and the download would go on uninterrupted. The menu layout is shown below, starting with the Main Menu. ........................ . . . MAIN (FTP TCP): 7500 . . -------------------- . . 1) VERSION INFO . . 2) TXTN COUNT . . 3) DIAGNOSTICS . . 4) VIEW SETTINGS . . 5) CLOSE MENUS . . 6) MOVE KEYPAD . . . . X or 0 = EXIT . ........................ . ........................ . ........................ . . . . . . VERSION INFO . (1). . TXTN COUNT . . ------------ ...... . ---------- . . DCCONN ClIENT V2.10 . . . TO SEND: 1 . . Jun 3 2004 19:20 . .(2) . SPACE FOR: 351 . . MADE W/ADK 4.42 . ...... . . FREE MEM: 223000 . . . . . . . . . . . . . ENTER/ESC = END . ........................ . ........................ . ........................ . ....................... . . . . . . DIAGNOSTICS . (3). . SETTINGS 1 OF 9 . . ----------- ...... . --------------- . . 1) TRACE LOG . . . DEVICE . . 2) DUMP MEMORY . .(4) . JANUS . . 3) VIEW USER VAR . ...... TCPIP_HOST . . 4) START STEPPING . . 99.99.99.17,7500 . . 5) TURN ON CMD LOG . . TCPIP_PORT . . 6) RETURN . . 7500 . . . . . . . . UP/DN=SCROLL Q=QUIT . ........................ ....................... . . ....................... . . . . . TRACE LOG . .(1) . --------- . ...... 1) TO SCREEN . . . 2) TO RS-232 . . . 3) TO SCREEN/232 . . . 4) RETURN . . . . . ....................... . . ....................... . . . . . MEMORY DUMP . .(2) . ----------- . ...... MAKE CHOICES . . . THEN HIT ENTER: . . . . . . 1) DUMP PARMS/PGMS . . . 2) TO SCREEN . . . . . . BKSPACE/ESC = QUIT . . ....................... . . ....................... . . VIEW USER VAR . . . ------------- . .(3) . UV Pool Max-Min-Now . ...... 10000-10000-10000 . . . . Global UV0-99: . . BLANK=NEXT W/DATA . . . . . . ENT=NEXT ESC=QUIT . ....................... Note: For the Windows CE flavors of the Client, access to the menus shown above is provided via a traditional Windows action/command bar at the top of DCConnect Client window. The action bar menus are used to select one of the above menus, but once selected, the selected information is displayed in the main window over the idle screen or transaction program that is running. Once you end the menu option (by pressing Esc), the idle screen or transaction program is redisplayed. While one menu option is active, no other menu option can be selected. Main Menu --------- The title of the Main Menu includes the flavor of the Client that is running, such as "FTP TCP", "Batch", ... and the currently configured address/port number that is configured. The options available on the Main Menu are: 1) Show the Version Info about the Client. Included is the version number, the date and time it was built, the version of the Norand Application Development Kit (ADK) that was used to build it and the amount of free memory that is currently available in the terminal. When the option to show this menu is selected, you'll temporarily see a "CHECKING MEMORY..." screen which shows the free memory total as it is counted up. 2) Show the current statistics about the quantity of transactions stored in the terminal, awaiting transmission to the data collection server and the number of bytes that are currently being used out of the total capacity. If many transactions are buffered and are actively being sent to the data collection server, this screen will be updated 5 times a second to show the current statistics. 3) The Diagnostics Menu includes options for viewing the trace log, dumping the contents of files, viewing user variables and starting/stopping stepping of transaction programs. These options are explained below in the Diagnostics Menu section. 4) Use the VIEW SETTINGS option to scroll a list of all parameters that can be configured using EMULATOR.INI. The title of the screen indicates how many screens of parameters are available for viewing. For each parameter, the keyword is on one line and its value is shown on the next line, indented by two spaces. Use the up and down arrows to move from page to page. The Enter key is also equivalent to the down arrow. Use the Q key or Esc key to return to the main menu. 5) Use the CLOSE MENUS option to leave the menus; the Client remains running when this option is selected. The Enter or Esc key can also be used to close the menus. 6) The MOVE KEYPAD option is available only if the KEYPAD_xxxx options are being used in EMULATOR.INI to define an on-screen keypad. Choosing this option will switch the keypad to the opposite side of the screen from where it is now. For example, if on the right, choosing this option will move it to the left. The keypad remains in the new location until this option is selected again - or until the Client is restarted. Whenever the Client starts, the keypad position reverts to the location specified by the KEYPAD_POSITION keyword in EMULATOR.INI. X or 0) Press the X or 0 key to end the Client program. You will be asked to confirm your choice to exit by pressing the Enter key. Diagnostics Menu ---------------- The options available on the Diagnostics Menu are: 1) TRACE LOG: Dump the contents of the communications trace log to the screen or to the RS-232 port. The communications trace log stores up to 80 bytes of last 128 messages that were sent to/from the Client from/to the DCConnect Server. Note: To make more memory available for downloaded files, the Antares flavors of the Client only store 40 bytes of the last 20 messages. For the serial-attached flavor of the Client, the RS-232 port is not a valid place to dump the trace log because that port is used to attach to the data collection server. The Trace Log screen provides options 1-3 to start the dump to the screen, to the RS-232 port or both. The dump is started when one of those three options is started. If the dump is to go to the screen, only the last 20 or so messages are displayed. The complete dump is only sent when the target is the RS-232 port. If the target is RS-232 the data is written to the port using a baud rate of 19200, no parity, 8 data bits and 1 stop bit. For a complete description of the communications protocol used by the Client, refer to the: 7524 Extended Terminal Services / DCConnect Client Technical Reference. 2) DUMP MEMORY: Dump the contents of a particular file in memory to the screen or to the RS-232 port. If FILE_PAGING is currently in effect, then before the MEMORY DUMP screen is shown, other screens will be shown indicating which transaction programs and validation files are currently loaded into memory and how much space they consume. As of 3.0.8m the sizes of all transaction programs will be shown; those that are actually in memory will have an asterisk before the key ID. The screen entitled PROGRAMS (*IN MEM) will list all transaction programs. For each program, its programs number (1-121), name and its size will be shown. An asterisk will precede them name if it is in memory. In the following example, programs F1 and F2 are loaded into memory: PROGRAMS (*IN MEM) 1 *F1: 101 bytes 2 *F2: 20 bytes 3 F3: 482 bytes 4 F4: 550 bytes 5 F5: 476 bytes 6 F6: 513 bytes 7 F7: 524 bytes 8 F8: 498 bytes 9 F9: 96 bytes ... ENTER=NEXT ESC=QUIT Up to 10 programs will be listed on the screen at a time. If more than that are in memory, the last line will show '...' and additional screens with the same title will be used to view the other programs. Press ENTER to move to the next screen or press ESC to leave this menu option and return to the main menu. After all screens for transaction programs are shown, screens for validation files will be shown. The screen entitled PAGED FILES IN MEM will list all validation files that are in memory, ordered from most recently used to least recently used. For each validaiton file, its name and its size will be shown. For example: D2R_SAMP.VAL = 84 bytes This list will not include validation files that are LOCKED_IN_MEMORY. If no other validation files are loaded in memory, NONE will be shown. Up to 10 validation files will be listed on the screen at a time. If more than that are in memory, the last line will show '...' and additional screens with the same title will be used to view the other validation files. ENTER and ESC work the same on this screen as they do on the PROGRAMS IN MEM screen. After all validation file screens are shown, the MEMORY DUMP screen will be shown. From the MEMORY DUMP screen, the following files are available to be dumped to screen or RS-232: PARMS/PGMS - Contains configuration parameters (record 0) and all transaction programs (record 1-121). Each record is separated by a record separator character <1E>. FAST CLOCK - Contains fast clocking configuration MESSAGES - Contains the text for prompts and messages used in transaction programs and some other system uses such as the idle screen. ALIAS STRINGS - Contains the initial values of alias strings for PF keys and touch points CFR - The fixed up CFR executable - if a CFR is in use VAL MAPPING - Maps single character validation file identifiers 2-7, A-Z, a-z to their full 8.3 filename counterparts All validation files - Of course, only validation files loaded to the terminal can be viewed. The list will show the validation file ID (2-7, A-Z, a-z) followed by a colon and the full 8.3 filename. Note: If FILE_PAGING is in effect, when file 0 is being shown, the contents of those programs which are not currently in memory will be shown simply as !! followed by a record separator. In addition any validation file that is selected for dumping will automatically be loaded into memory if it is not already in memory. For the serial-attached flavor of the Client, the RS-232 port is not a valid place to dump the trace log because that port is used to attach to the DCConnect Server. The Memory Dump screen provides option 1 to change which file is to be dumped. It defaults to PARMS/PGMS. As you press the 1 key, the file value cycles through the list of files shown above. Some validation files (2-7) will be listed between FAST CLOCK and MESSAGES while the rest (a-z, A-Z) will be listed after VAL MAPPING. Once the end of the list is reached, pressing 1 again will go back to the beginning of the list. Option 2 lets you change the target of the dump: to screen, to the RS-232 port or both. If the target is RS-232 the data is written to the port using a baud rate of 19200, no parity, 8 data bits and 1 stop bit. When you have set options 1 and 2, press the Enter key to begin the memory dump. If the memory dump is going to the screen, you will be shown the data one screen at a time. At the bottom of the screen will be an indicator of where you are in the file and what the total size is. For example, if the file is 2000 bytes long and the first screen can show the first 450 bytes, the bottom of the first screen of the dump will show (450 OF 2000). While the memory dump is being displayed, the backspace or Esc key can be used to stop showing the rest of the file. Any other key will cause the next screen in the dump to be displayed. Any character in the file that has an ASCII value less than 32 or greater than 127 will be displayed in the format < xx > where xx is the hex value of the character. For a complete description of the contents of the Client's files, refer to the: 7524 Extended Terminal Services / DCConnect Client Technical Reference. 3) VIEW USER VAR: Used to view the contents of any of the parameters, global or local user variables or the return code variable (gRc / uvRC) used in a transaction program in the terminal. To start the screen will be set up to show global user variables. At this prompt just type in the user variable number (0 - 99) and press the Enter key. The length of the user variable will be given along with the data that is in the user variable. Any character in the user variable data that has an ASCII value less than 32 or greater than 127 will be displayed in the format < xx > where xx is the hex value of the character. If the entry field is blank when you press Enter, the next non-empty user variable will be displayed. If you had entered a user variable number and pressed enter, in addition to showing the length and contents of the specified user variable, the value in the input field is automatically incremented by 1 so that if you wanted to view the next user variable, all you'd have to do is press Enter. If the entry field is blank, repeatedly pressing the Enter key will move from one non-empty user variable to the next - until the last one is shown. If the last non-empty user variable is being displayed and Enter is pressed the following message will be displayed: OTHERS ARE EMPTY! Pressing Enter one more time (with the entry field still blank) will go back to the beginning and show the first non-blank user variable. To leave this screen at any time, press the Esc key. Starting with version 2.00f of the Client which is the version in which the use of a user variable pool was implemented, the top of this screen will give some statistics about the user variable pool: Max: The size of the pool (will be either 10000 or whatever UV_POOL_SIZE is defined to be) Min: The smallest amount of free space that there ever was up to this point (gives an indication as to how much is actually needed). Now: The current amount of free space in the pool The 'Min' value can be used to determine whether or not the size of the user variable pool can be reduced - should additional space be required for downloading files. If after running all of your transaction programs using maximum length data inputs you find that the Min value is large enough you could reduce the size of the pool. Starting with version 2.10 of the Client, if you bring up this screen while a transaction program is in progress you can also view the contents of any local variables or parameters that are currently available. The following letters are used to switch between the different types of variables: G = Choose a global variable to view L = Choose a local variable to view P = Choose a parameter to view (not added until 2.10b) And in version 3.0.8i the return code user variable can also be selected: R = Choose to view the return code variable (aka uvRC or gRC) The screen will show the valid range of local variables/parameters that are currently available. For example, if there are 2 local variables and 3 parameters currently available, the screen will initially give the following choices: Global 0-99,L,P,R: If you press L, the prompt becomes: Local 1-2, P,G,R: If you press P, the prompt becomes: Parm 1-3, L,G,R: If you press R, the prompt becomes: uvRC,L,P,G: 1 Regardless of what type of variable/parameter is currently being viewed, pressing enter with the field blank will show the first non-blank variable/ parameter. Also starting with version 3.0.8i of the Client, the user variable / parameter name will be shown on the same line as the UV / Parameter number and length for the variable/parameter that is currently being shown - if the client has loaded the programs from text files instead of being downloaded from a .PGM file. 4) The START/STOP STEPPING option is used to turn on or off the ability to step through transaction programs one command at a time. When you first press the 4 key to START STEPPING, you will get a confirmation pop-up telling you that stepping is now active and that the following keys can be used while in stepping mode: Enter = Next step Esc = Cancel stepping 1-9,0 = Skip 1-10 steps S = Skip current subroutine. Only valid when stopped at a GOSUB or ONSUB command. All commands are processed in that subroutine as well as any subroutine(s) that it calls. Stepping pauses at the command following the subroutine call. R = Return from the current subroutine. Only valid when in a subroutine. Commands are processed up to and including the RETURN command. Stepping pauses where the subroutine returns. B = Leave the current (if or else) block. Stepping resumes after the end block command (}) that ends the current block. Any other blocks that are entered will be exited on the way to the target end of the block. You must press any key to clear the confirmation screen in the menus. The wording for option 4 will now be STOP STEPPING - although most of the time you would probably just stop stepping by pressing the Esc key. When stepping is active, the bottom of the screen will be used to show, in reverse video, the next command to be performed. First is the 3 digit step number, then the name known in DCTPB or DCConnect is given (e.g. APND, SHOW, CCFR) followed by the actual raw program command in parenthesis. For example: 001:SET/APNDSTR(;7CU60011) Note 1: If the current sceen dimensions are at a size with less than 40 columns use the arrow keys to move the screen so that you can see more of the command at the bottom of the screen. Note 2: If the transaction programs were loaded directly from script files rather than being downloaded from .PGM file(s), then after the command name, the parameters for the command will be more readable variable / parameter / label names. For example: 001:SETSTR(lRowNumber, "7") While the command is displayed at the bottom of the screen, you can press Esc to cancel stepping or you can press Enter or one of the other valid keys to execute that displayed command and move to the next command. Note: Pressing Esc just ends stepping; it does not end the transaction program. The program runs along normally after stepping is ended. When Enter is pressed, the screen is restored to its prior contents and then the command is performed. After that command is performed, there is a brief delay before the next command will be displayed on the bottom of the screen. When more than one command is skipped at a time, each command is shown very briefly as it is performed. If one of the commands to be skipped is one that prompts for input, such as a READ command or a CCFR command that waits for keyboard or scanner input, then while that command is being performed (i.e. while the input field is being displayed) you will not see the reverse video display of a command at the bottom of the screen. Only after Enter is pressed or a scann is performed for that READ or CCFR commad and the field is accepted will the next command be displayed at the bottom of the screen. While stepping through a program, you can use the menus to do things such as viewing the contents of user variables. As was mentioned, you can end the stepping by pressing Esc when a command is being shown in reverse video at the bottom of the screen, or you can go into the menus and choose option 4) STOP STEPPING from the DIAGNOSTICS MENU. 5) The TURN ON/OFF CMD LOG option is used to turn on or off the logging of transaction program commands to a file called COMMANDS.LOG. This file is created in the same folder where LOGFILE.LOG is created. The content of this file is similar to the info shown on the bottom of the screen when STEPPING mode is in effect, except that it is preceded by a timestamp and the data is not truncated. For example: 01:34:37.630: 001:APNDSTR(;7CU60011) 01:34:37.640: 002:APNDSTR(;7CU70012) 01:34:37.650: 003:APNDSTR(;7CU80013) 01:34:37.660: 004:APNDSTR(;7CU90014) 01:34:37.670: 005:APNDSTR(;7CUA0015) 01:34:37.680: 006:GOTO/SUB(:GS05100501C003500) The timestamp is followed by the 3 digit step number, then the command name known in DCTPB or DCConnect is given (e.g. APND, SHOW, CCFR) followed by the actual raw program command in parentheses. Note: When text based compiling is in effect, the output will no longer just be the raw binary command that would be found in a .PGM; rather it will show the parameter / user variable / label names and look similar to the command that was compiled from the .COD file. For example: 02:04:53.898: 158:SET RowCount,inRowCount 02:04:53.898: 159:IF (RowCount#==0) 02:04:53.898: 160:SET RowCount,gLastHelpRows 02:04:53.898: 161:GOSUB ADDL1:ShowHelp(Help,RowCount) 02:04:53.898: 163:LOCALS 4 02:04:53.898: 164:SET gLastHelpRows,RowCount After this option is selected to turn on the logging, all transaction programs that are executed are written to this file until this option is turned off or until the transaction program completes. Be sure to turn off this option or end the program before trying to access the COMMANDS.LOG file. This option is not available for DOS versions of the DCConnect Client. Menu Short Cut Keys ------------------- There are two short cut keys available to quickly take you two a couple of the diagnostic menu functions if ENABLE_MENU_SHORTCUTS=Y is specified in EMULATOR.INI: - The '@' will bring up the Start Stepping menu. Just press Enter once from that screen and you'll be back at the program with stepping mode in effect. Note: If stepping mode is already in effect, pressing the @ key will appear to do nothing. - The '#' will bring up the View User Var screen directly. When done, press Enter to return to the transaction program. Configuration using EMULATOR.INI and MASTER.INI ---------------------------------------------- In version 1.20F of the Client, a new way was added for configuring the Client using a text file called EMULATOR.INI. In that version, only certain new parameters were configured using this text file. However, starting with version 1.40H all parameters that used to be set from the command line or from the menus can now be set by simply adding keywords to the EMULATOR.INI file. If used, this file must be in the current directory when the Client is started. The format of each line in the file is very simple: KEYWORD = value Comments are denoted by a slash (/). All lines that start with a slash are ignored. Spaces surrounding the KEYWORD, equal sign and value are optional. The equal sign and value must be on the same line as the KEYWORD. Blank lines are allowed any where in the file. In version 3.0.8j, with the implementation of text-based downloads from the DCConnect Server, the client also now looks for MASTER.INI - which the server will send to the terminal along with the text files. The purpose of MASTER.INI is to provide a mechanism for the server to assign to the client the values for the SCRIPT_NAME and TERM_SUB_MODEL parameters. When a text file download completes, the Client rereads EMULATOR.INI and MASTER.INI; settings in MASTER.INI will override any matching settings in EMULATOR.INI. Listed below are the valid keywords that can be used in either EMULATOR.INI or MASTER.INI. Note: The .INI files can include the section indicator [CONFIG] at the beginning but it is not required for operation of the DCConnect Client itself; the Client will just ignore it. This section indicator is used by the InstallShield-based installation to allow it to update parameters in EMULATOR.INI during the installation based on prompts that the user answers. Keyword: ABORT_ONKEY_ON_RS232_INPUT ----------------------------------- This keyword tells the Client to immediate cancel a waiting ONKEY command if data is received on the RS-232 port. This can be useful when a data collection device is used both to collect data from people and to collect data from a serial device that periodically sends out data. When this keyword is in effect and an ONKEY command is waiting for user input, the receipt of data on the serial port will cause the ONKEY command to abort, ending the transaction program. When the Client returns to the idle prompt, if it finds that an RS-232 initiated transaction is defined, that RS-232 transaction will be started so that the serial input can be processed right away. The keyword is specified as follows: ABORT_ONKEY_ON_RS232_INPUT = Y This keyword is likely to be used in conjunction with the the related keyword, ABORT_READ_ON_RS232_INPUT, which applies to the READ command. For more information please see Keyword: ABORT_READ_ON_RS232_INPUT. Keyword: ABORT_READ_ON_RS232_INPUT ---------------------------------- This keyword tells the Client to immediate cancel a waiting READ command if data is received on the RS-232 port. This can be useful when a data collection device is used both to collect data from people and to collect data from a serial device that periodically sends out data. When this keyword is in effect and a READ command is waiting for user input, the receipt of data on the serial port will cause the READ command to abort, ending the transaction program. When the Client returns to the idle prompt, if it finds that an RS-232 initiated transaction is defined, that RS-232 transaction will be started so that the serial input can be processed right away. The keyword is specified as follows: ABORT_READ_ON_RS232_INPUT = Y This keyword is likely to be used in conjunction with the the related keyword, ABORT_ONKEY_ON_RS232_INPUT, which applies to the ONKEY command. For more information please see Keyword: ABORT_ONKEY_ON_RS232_INPUT. Keyword: ADDRESS ---------------- This keyword is valid only for the serial flavors of the Client. It is used to specify the terminal address - in the same way that the -A command line parameter does. The keyword is specified as follows: ADDRESS = A The valid choices for address are the letters A through Y and the numbers 0 through 6. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the address value from that file will override the ADDRESS parameter in EMULATOR.INI. Furthermore, if the command line parameter -A is specified, it will override both the configuration file and the ADDRESS parameter. Therefore the ADDRESS parameter will take effect only if the -F and -A command line parameters are not used. If no address is specified in the .INI file, the command line or a configuration file, it will be set to '*' indicating that no address is configured. Keyword: ALL_SCAN_DATA_UPPER_CASE --------------------------------- This keyword specifies that all scan data be converted to upper case. By default the case of scan data is not changed. The keyword is specified as follows: ALL_SCAN_DATA_UPPER_CASE = Y This keyword only takes effect if either the SCAN_SENTINEL_CHARS keyword or USE_RS232_FOR_SCANNER keyword is used because without either of these in effect, the Client has no way to distinguish keyboard data from scanner data. If all scanner data simply looks like keyboard data to the Client then all scanner and keyboard data is converted to upper case unless the ALLOW_LOWER_CASE keyword is specifed. Keyword: ALLOW_LOWER_CASE ------------------------- This keyword specifies that lower case keyboard input should not be converted to upper case. By default (without this keyword) all keyboard input is converted to upper case. And if the SCAN_SENTINEL_CHARS keyword is not used, all scanner input is treated the same as keyboard input. The keyword is specified as follows: ALLOW_LOWER_CASE = Y If the SCAN_SENTINEL_CHARS keyword is being used, then this keyword has no effect on scanner input. In this case, by default the case of scanner input is not changed; however, the ALL_SCAN_DATA_UPPER_CASE keyword can be used to override that default. Keyword: AUTO_SCROLL_ROW ------------------------ This keyword, which is valid only for Android devices, is used to force the current screen content to be positioned so that the current cursor position always shows at a particular row. This is useful for those devices that have no keyboard and the soft-keyboard Android or manufacturer provided keyboard takes up a large portion of the screen. You would typically specify row 1, 2 or 3 since the soft-keyboard is usually displayed flush with the bottom of the physical screen. When this keyword is in effect, the auto-scrolling behavior only occurs when the Client detects that the soft-keyboard is visible. The keyword is specified as follows: AUTO_SCROLL_ROW = 2 where the row can range from 1-20. Note: that the Android / manufacturer provided soft-keyboard is different from the keypad that can be defined in the EMULATOR.INI. That keypad is positioned next to the screen content and therefore does not overlap it. Keyword: BAUD_RATE ------------------ This keyword is valid only for the serial flavors of the Client. It is used to specify the baud rate - in the same way that the -B command line parameter does. The keyword is specified as follows: BAUD_RATE = 19200 The valid choices for baud rate are 300, 1200, 2400, 4800, 9600, 19200 and 38400. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the baud rate value from that file will override the BAUD_RATE parameter in EMULATOR.INI. Furthermore, if the command line parameter -B is specified, it will override both the configuration file and the BAUD_RATE parameter. Therefore the BAUD_RATE parameter will take effect only if the the -F and -B command line parameters are not used. If no baud rate is specified in the .INI file, the command line or a configuration file, the baud rate defaults to 19200. Keyword: COLOR_ATTRIBUTES ------------------------- This keyword, which is valid only for 32-bit Windows flavors of the Client, specifies that attributes be shown using the following color scheme: - The REVERSE attribute shows up as white on blue. - The BLINKING attribute shows up as white on red. - The UNDERLINE attribute shows up as blue on black. - Where combinations of these attributes are used, BLINKING supercedes REVERSE which supercedes UNDERLINE. For example, if both the REVERSE and BLINKING attributes were selected, the blinking attribute would be used; so you'd get white on red. The keyword is specified as follows: COLOR_ATTRIBUTES = Y If this keyword is not used the following scheme is used: - The REVERSE attribute shows up as black on white. - The BLINKING attribute shows up as bright red on black - The UNDERLINE attribute shows up as bright white on black - Where combinations of these attributes are used, the same rules of precedence apply as described above for color. Whether color is used or not, the normal display of characters (i.e. with any attributes) is black on white. Keyword: COMPILE_ONLY --------------------- This keyword is used in conjunction with the SCRIPT_NAME parameter or -S command line option to tell the Client that it should only compile the script file; it should not attempt to load and run the transaction programs. When this option is in effect, after the compile completes, a popup is shown indicating whether or not the compile found any errors. If errors or warnings are found, they are written to a file called ETSPT.MSG in the same directory where the Client looks for EMULATOR.INI or MASTER.INI. The keyword is specified as follows: COMPILE_ONLY = Y This keyword is equivalent to the command line option: -O=Compile_Only If neither is specified, after compilation of the script files completes, the programs are loaded and the client attempts to establish communications with the server. Keyword: COM_PORT ----------------- This keyword is valid only for the serial flavors of the Client. It is used to specify the COM port on which the terminal is communicating to the data colleciton server - in the same way that the -C command line parameter does. The keyword is specified as follows: COM_PORT = 1 The valid choices for COM port are 1 through 8. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the COM port value from that file will override the COM_PORT parameter in EMULATOR.INI. Furthermore, if the command line parameter -C is specified, it will override both the configuration file and the COM_PORT parameter. Therefore the COM_PORT parameter will take effect only if the the -F and -C command line parameters are not used. If no COM port is specified in the .INI file, the command line or a configuration file, the COM port defaults to COM1. Keyword: DATE_SEPARATOR ----------------------- This keyword can be used to change the date separator character when used in conjunction with Keyword: SHOW_IDLE_TIME. By default the date separator is the slash (/). It can be changed to the dash (-) or period (.) The keyword is specified as follows: DATE_SEPARATOR = - The only valid choices are the slash (/), dash (-) or the period (.) Keyword: DEVICE --------------- This keyword specifies which device the Client will be running on - in the same way that the -D command line parameter does. The keyword is specified as follows: DEVICE = PTC960 The valid choices for device are the same as for the -D parameter. Please refer to the description of the -D parameter in the earlier section Common Command Line Parameters for the Client. If both the command line parameter -D and this DEVICE keyword are used, the command line parameter takes effect. Keyword: DONT_CHANGE_SCREEN_SIZE -------------------------------- This keyword tells the Client not to change the screen size when starting up or showing the menus. For many devices supported by the Client, the Client already knows not to change the screen size. Among these are the MAXILAN, PTC960 and FMT10X0. But if the -D command line parameter or DEVICE keyword is not being used and you find that the Client changes the screen size inappropriately, use the following keyword in EMULAOTR.INI to tell the Client to leave the screen size as is: DONT_CHANGE_SCREEN_SIZE = Y The Client normally changes the screen size for devices that have larger screens in order to maximize the use of those screens. For example, the JANUS2050 defaults to an 80 column screen. Because the Client only uses up to 40 columns, it switches to 40 column mode so that the entire width of the screen is used. However, the command used by the Client to change the screen size does not work properly on all devices. In these cases it may be necessary to use the DOS 'MODE' command or a terminal specific utility to set the screen size appropriately before the Client is started. At the same time, the DONT_CHANGE_SCREEN_SIZE keyword must be used to let the Client know that the screen size is already set as it should be. Keyword: ENABLE_MENU_SHORTCUTS ------------------------------ This keyword tells the Client to allow the @ key to be a short cut key to jump immediately to the Start Stepping page in the menus and to allow the # key to jump immediately to the View User Vars page in the menus. Use the following in EMULATOR.INI to enable these shortcuts: ENABLE_MENU_SHORTCUTS=Y Note: In version 3.0.8i of the Client, the @ and # were first made available as menu short cuts and the default behavior of the Client was that these short cut keys were always enabled. In version 3.0.8o the default behavior was changed to disable these menu short cut keys - and only enable them if this keyword was used. Keyword: FILE_PAGING -------------------- This keyword is used to specify that some of the files that are downloaded to the Client be paged in and out of memory as necessary rather than all being loaded into memory at once. When file paging is in effect, the Client requires less available memory to run transaction programs. Not all downloaded files are paged; only transaction programs and validation files are paged. The paged files are stored on the terminal's disk drive (or equivalent) during a download. Then as transaction programs are run and local validation files are required, they are loaded from the files on disk. If there is not enough memory to load a particular file, some that are already in memory will be unloaded and an attempt to load will be made again. To enable file paging, add the following keyword to EMULATOR.INI: FILE_PAGING = Y If you specify 'Y' then the paged files are written to the current directory, which is the same directory in which the Client looks for EMULATOR.INI. You can specify a different directory for the paged files by substituting the directory path for the 'Y'. For example, to have paged files written to the directory D:\PAGEFILE, put the following keyword to EMULATOR.INI: FILE_PAGING = D:\PAGEFILE The name used for paged validation files is exactly the same name that they are downloaded as (e.g. BADGES.VAL, GRPTXNS.VAL, ...). All transaction programs are stored in a single page file called FILE0.DAT. IMPORTANT NOTE: If FILE_PAGING is in effect and a CFR is in use that calls the API DataFile(), then any validation file referenced by the DataFile() API cannot be paged. This is done with the LOCK_IN_MEMORY keyword. For more information, please see Keyword: LOCK_IN_MEMORY. The LOCK_IN_MEMORY keyword can also be used to lock in memory frequently used transaction programs so that they are not constantly swapped in and out of memory. Keyword: FULL_SCREEN -------------------- This keyword, which is valid only for Windows CE devices, is used to tell the Client to run in "full-screen" mode. Note 1: Originally this function was valid only on Pocket PC / Windows Mobile devices because the Client used a special Pocket PC API to hide the various buttons and tool bar. However, as of version 2.10, this option can be used on any Windows CE device because the buttons and task bar are now identified by their system name in order to hide them. Note 2: As Windows CE / Mobile has evolved, the effectiveness of this option has diminished with regard to what is actually accessible outside of the Client. Rather than trying to keep up with these evolving changes we now rely on the device manufacturers to provide "lock-down" tools. Note 3: For many Symbol / Motorola / Zebra devices which have Windows CE and not Pocket PC / Windows Mobile installed, Symbol provides an application called AppCenter which can be used to 'lock down' (aka run in 'full screen' mode) any application, including the DCConnect Client. It is recommended that AppCenter be used where available as it is tailored for specific Symbol devices. As of November 2006, this was freely available from Symbol's Developer Zone web site: devzone.symbol.com. Note 4: Similarly for many Intermec / Honeywell devices, Intermec offers an application called iLaunch which, like AppCenter, helps to restrict the user's access to a limited set of applications. In "full-screen" mode, the terminal user is locked out from accessing any other application while the Client is running. The following things are done to accomplish this: - The Start button is hidden - The Taskbar is hidden - The Software Input Panel button (aka pop-up keyboard) is hidden on Pocket PC Devices. And since the Software Input Panel is hidden, the Client adds an A-Z button to its command bar. The A-Z button allows the user to toggle whether or not the software keyboard is showing. - Also, on the Intermec 700 terminal, the orange-shifted keys A1 through A4 are disabled while the Client is running. These are normally set up to start certain applications such as Notes and Calendar. The disabling of these keys is actually done during the loading of a special DLL called ETSUSER.DLL that the Client will try to load when the FULL_SCREEN keyword is in effect. In ETSUSER.DLL, the function _DllMainCRTStartup is called when the DLL is loaded. The default version of this .DLL that is built for the Intermec 700 has code in this function to clear certain registry values in order to disable the A1-A4 keys. The same function is called when the Client shuts down which allows the restoration of the registry settings for these keys - thus reenabling them to start applications. The source for ETSUSER.DLL: ETSUSER.C and ETSUSER.DEF along with make files, is available where the DCConnect Client is installed (e.g. C:\DCCONN\DCCLIENT). This gives customers the ability to change what is done to the terminal during startup and shutdown of the Client - in case other things need to be disabled/enabled. Note: ETSUSER.DLL is the same .DLL used by the Client to find functions defined by the MENU_ITEM keyword. For more details, please see Keyword: MENU_ITEM. The keyword to put the Client in full-screen mode is specified as follows: FULL_SCREEN = Y When in full screen mode, you will probably also want to password protect the menus so that the terminal users must know the proper password in order to be able to shut down the Client. Enabling a menu password is done using the MENU_PASSWORD keyword which is described in Keyword: MENU_PASSWORD. Keyword: HIDE_MENU_BAR ---------------------- This keyword, which is valid only for Windows CE devices, is used to tell the Client to not show the Menu Bar that has the File, Diagnostic and About pull-down menus. This frees up more space in the Client window - which is especially useful for Windows CE devices such as the Intermec CK30 where screen real estate is at a premium. The keyword to tell the Client to hide the menu bar is specified as follows: HIDE_MENU_BAR = Y When the menu bar is hidden, the Client menus can be brought up using the same methods that are available on the DOS and Windows flavors of the Client: using the Home, question mark or equal keys. The MENU_KEY keyword can also be used in EMULATOR.INI to override these keys with a different one. For more details please see Keyword: MENU_KEY. Keyword: IDLE_DELAY_MIN_AND_MAX ------------------------------- This keyword, which is not valid for DOS platforms, allows for the tuning of the DCConnect Client idle delay cycles to influence its performance and the affect that has on battery life. The idle delay is used in the cooperative multi-tasking scheme that the client uses when switching between the various threads of execution. Two different values are provided. The 'max' value is used for situations where the client is waiting for input and therefore should maximize its idle delay and use less processing power. For example, while waiting for a transaction program to be started or waiting for keyboard / scan input. The 'min' value is used for all other situations in order to maximize performance, such as when downloading files from the server or processing a sequence of commands in a transaction program. The format of this command is: IDLE_DELAY_MIN_AND_MAX = nnn, xxx where both 'nnn' and 'xxx' are values from 0 to 100 representing a unit of time, which is in milliseconds for all currently supported platforms: Windows, Windows CE and Android devices. If this keyword is not provided, the default values are: IDLE_DELAY_MIN_AND_MAX = 0, 1 A value of 0 indicates the thread will only wait as long as other threads have work to do; if no other threads have work to do, the thread that was in control will immediately resume its processing. Keyword: IGNORE_ARROW_KEYS -------------------------- This keyword can be used to disable the ability to use the arrow keys to scroll the Client screen. By default the arrow keys can be used to change what part of the 20x40 virtual Client screen is currently visible in the terminal's viewport (the physical screen). For example, with a 16x20 viewport like the Antares 2425 has, the initial view is of rows 1-16 and columns 1-20 of the virtual 20x40 Client screen. Pressing the right arrow moves the viewport over half a screen so that rows 1-16 and columns 11-30 are visible. Sometimes it is not desirable for the terminal user to be able to move the screen - particularly if there will never be any data to viewed that is outside the physical viewport. In these cases you may want to disable the arrow keys so that users don't accidently scroll the screen to the point where it is blank - which can lead them to mistakenly think something is wrong with the terminal. To disable the arrow keys, add the following keyword to EMULATOR.INI: IGNORE_ARROW_KEYS = Y In order to use this keyword, you must have version 1.40S or later of the DCConnect Client. Note: Even if the Client is ignoring the arrow keys, the actual terminal hardware might have a way to scroll the physical screen that can't be disabled by the Client - although there might be a way to disable this way of scrolling by changing the terminal's hardware configuration. For For example, the Janus 2020 uses the Function key in conjunction with the arrow keys as a way to scroll the viewport. Whether these are enabled is specified in the Janus configuration file JANUS.INI - which is set up using the IC.EXE utility. On this terminal, the use of IGNORE_ARROW_KEYS (or lack thereof) only dictates what happens when the arrow keys are pressed without the Function key being pressed first. The handling of the arrow keys by the Client can also be turned on and off using the CFR API KbdHandleArrowKeys. Using a CFR to do this would only be necessary if handling of the arrow keys should be disabled temporarily rather than all of the time. For information about this and and other CFR APIs, please refer to the: 7524 Extended Terminal Services / DCConnect Client Technical Reference. Keyword: IGNORE_KEY ------------------- This keyword, which is not valid for DOS platforms, can be used to tell the DCConnect Client to ignore one or more keys, informing the operating system that the application will not act on it. The format of this command is: IGNORE_KEY = nnn where 'nnn' is the decimal ASCII value for the key code to be ignored (1-255). For example, to ignore the [ key (ASCII 91) use the following statement: IGNORE_KEY = 91 The key code to ignore can also be an extended ASCII code. To specify that a code is actually an extended code, precede the ASCII decimal value with an x (upper or lower case). So to ignore the F1 key (extended ASCII 59): IGNORE_KEY = x59 Keyword: IGNORE_UNDERLINE ------------------------- This keyword should be used when characters that are supposed to use the underline attribute do not show up properly. This can happen when a device does not support the underline attribute. The LXE MX2 (same as the PSC/Percon Falcon 345) is one such device. In order to tell the Client not to use the underline attribute anywhere, add the following keyword to EMULATOR.INI: IGNORE_UNDERLINE = Y The Client tries to use the underline attribute for the menu titles and it's possible that the transaction programs that are loaded to the device will be using underlining for certain text. For some devices, the underlined titles and text will be shown properly with the underlines, for other devices the titles and text will be shown in a slightly modified intensity. However for other devices the menu titles and underlined text will not show up at all. For these devices, the IGNORE_UNDERLINE keyword must be used. Keyword: KEY_CLICK ------------------ This keyword can be used to turn on the keyboard key click sound on most terminals. The keyword is specified as follows: KEY_CLICK = Y If the keyword is not used, the Client default keyboard setting is no key click sound. This keyword is not valid for Antares terminals. Note: On some devices, there are hardware settings that can turn on/off a key click outside of the control of the Client. The Antares terminals have a hardware setting to control the key click. Keyword: KEYPAD_FONT_SIZE ------------------------- This keyword can be used to override the default sizing of the text on keypad labels for Android devices. By default, the keypad label text is automatically resized to maximize its size relative to the button size; so this keyword should not typically be needed. There are 4 font sizes that can be specified, based on the number of characters in the label. Keypad labels should be no more than 4 characters for readability. The first font size specified is for 1 character labels, the second is for 2 characters labels, ... The font size can be a number from 1-512 indicating a relative size but it does not represent any specific pixel size; so it will likely require trial and error to determine the ideal size. A larger number is a larger font. The keyword is specified like the following example: KEYPAD_FONT_SIZE = 32, 16, 10, 8 which will set the font size for 1 character labels to 32, the font size for 2 character labels to 16, the font size for 3 character labels to 10 and the font size for 4 character labels to 8. Keyword: KEYPAD_KEY ------------------- This keyword, which is valid only for Android devices, is one of several parameters used to define an on-screen keypad. Please see Android Keypad for an overall discussion. The KEYPAD_KEY keyword is used for each key in the keypad to define its label and the ASCII code or extended ASCII code that should be generated when that key is pressed.. The format of this command is KEYPAD_KEY label, nnn The first parameter is the label that will appear on the key; this can be more than one character if desired (e.g. Esc or Ent). Note that a blank is not allowed for the label; so if a space is intended to be generated use something like Sp or Spc for the label. The second parameter, 'nnn' is the decimal ASCII value for the key code to be generated when the key is pressed (1-255). For example, to generate a zero chararacter (ASCII 48) use the following statement: KEYPAD_KEY = 0, 48 The key code can also be an extended ASCII code. To specify that a code is actually an extended code, precede the ASCII decimal value with an x (upper or lower case). So to generate a left arrow key (extended ASCII 75), use the following statement: KEYPAD_KEY = <, x75 Here is a sample set of 12 keys defined for the numbers 0-9 and the left and right arrow keys: KEYPAD_KEY = 1, 49 KEYPAD_KEY = 2, 50 KEYPAD_KEY = 3, 51 KEYPAD_KEY = 4, 52 KEYPAD_KEY = 5, 53 KEYPAD_KEY = 6, 54 KEYPAD_KEY = 7, 55 KEYPAD_KEY = 8, 56 KEYPAD_KEY = 9, 57 KEYPAD_KEY = 0, 48 KEYPAD_KEY = <, x75 KEYPAD_KEY = >, x77 Keyword: KEYPAD_NUM_KEYS ------------------------ This keyword, which is valid only for Android devices, is one of several parameters used to define an on-screen keypad. Please see Android Keypad for an overall discussion. The KEYPAD_NUM_KEYS keyword specifies how many keys will be defined for the keypad - which means it should match the number of KEYPAD_KEY definitions. Note that typically the KEYPAD_NUM_KEY_COLS multiplied by KEYPAD_NUM_KEY_ROWS will equal the KEYPAD_NUM_KEYS but it does not have to. For example, a 2 by 6 grid of keys could be set up to have the 10 numeric keys and the enter key for a total of 11. The keyword is specified as follows: KEYPAD_NUM_KEYS = 12 Where the number can be from 1 to 100 but must match the number of KEYPAD_KEY definitions that are in the .INI file. Keyword: KEYPAD_NUM_KEY_COLS ---------------------------- This keyword, which is valid only for Android devices, is one of several parameters used to define an on-screen keypad. Please see Android Keypad for an overall discussion. The KEYPAD_NUM_KEY_COLS keyword along with the KEYPAD_NUM_KEY_ROWS keyword specifies the layout of the grid of keys for the keypad. Each row in the keypad will have KEYPAD_NUM_KEY_COLS keys - with the possible exception of the last row - in the case where the total number of keys is not equal to the number of rows multiplied by the number of columns. The width of each key is maximized, dividing the total keypad size (defined by the KEYPAD_POSITION keyword) by the KEYPAD_NUM_KEY_COLS. Note that typically the KEYPAD_NUM_KEY_COLS multiplied by KEYPAD_NUM_KEY_ROWS will equal the KEYPAD_NUM_KEYS but it does not have to. For example, a 2 by 6 grid of keys could be set up to have the 10 numeric keys and the enter key for a total of 11. The keyword is specified as follows: KEYPAD_NUM_KEY_COLS = 2 Where the number can be from 1 to 100. Keyword: KEYPAD_NUM_KEY_ROWS ---------------------------- This keyword, which is valid only for Android devices, is one of several parameters used to define an on-screen keypad. Please see Android Keypad for an overall discussion. The KEYPAD_NUM_KEY_ROWS keyword along with the KEYPAD_NUM_KEY_COLS keyword specifies the layout of the grid of keys for the keypad. Each column in the keypad will have KEYPAD_NUM_KEY_ROWS keys - with the possible exception of the last column - in the case where the total number of keys is not equal to the number of rows multiplied by the number of columns. The height of each key is maximized, dividing the total keypad size (defined by the KEYPAD_POSITION keyword) by the KEYPAD_NUM_KEY_ROWS. Note that typically the KEYPAD_NUM_KEY_COLS multiplied by KEYPAD_NUM_KEY_ROWS will equal the KEYPAD_NUM_KEYS but it does not have to. For example, a 2 by 6 grid of keys could be set up to have the 10 numeric keys and the enter key for a total of 11. The keyword is specified as follows: KEYPAD_NUM_KEY_ROWS = 6 Where the number can be from 1 to 100. Keyword: KEYPAD_POSITION ------------------------ This keyword, which is valid only for Android devices, is one of several parameters used to define an on-screen keypad. Please see Android Keypad for an overall discussion. The KEYPAD_POSITION keyword specifies from which edge of the screen the keyboard will extend and what percent of the screen it will take up, starting at that edge. All defined keys will be arranged within this area in the grid configuration specified by the other keypad parameters. The keyword is specified as follows: KEYPAD_POSITION = RIGHT, 20 This specifies that the keypad should take up the right 20 percent of the screen. The first parameter can be one of RIGHT, LEFT, TOP or BOTTOM. Only the first letter is needed and it is case insensitive. The second parameter can be from 1 to 100 percent, although you actually would never want it to take up the entire screen. While the KEYPAD_POSITION keyword defines the location of the keypad when the Client is started, that position can be switched to the opposite side of the screen by using the MOVE KEYPAD option on the main menu (option 6). Each time that option is selected it keeps switching from one side to the other. But regardless of the use of this option, the value in the .INI file will be the one that takes effect when the Client is started. Keyword: LOCK_IN_MEMORY ----------------------- This keyword is used in conjunction with FILE_PAGING to specify certain validation files and / or transaction program IDs that should not be paged; they should instead remain in memory at all times. Note: support for locking transaction programs was added with version 3.0.8m. Locking validation files ------------------------ If FILE_PAGING is in effect and a CFR is in use that calls the API DataFile(), then any validation file referenced by the DataFile() API cannot be paged. DataFile() returns a pointer to the start of the validation file in memory. Once that pointer is given to the CFR, the file cannot be moved or else use of the pointer by the CFR would not work properly. Any paged file may be unloaded from memory and reloaded at a different location than when it was previously loaded. Therefore validation files referenced by the DataFile() CFR API cannot be paged. To lock in memory the validation files EMPLGRP.VAL and GRPTXNS.VAL, add the following keyword to EMULATOR.INI: LOCK_IN_MEMORY = EMPLGRP.VAL, GRPTXNS.VAL Validation file names must be specified by at least one space and/or comma. The LOCK_IN_MEMORY keyword can be used multiple times if there is a long list of validation files that must be locked. Locking transaction programs ---------------------------- When FILE_PAGING is in effect, the Client tries to load into memory all the transaction programs that are referenced (those that are started by a key press and those that are branched to by a GOTO / GOSUB command) as it references them. But if a new program must be loaded and there is no more memory available, the Client will begin to unload programs (and validation files) until there is enough memory available to load the latest referenced program. But if there are programs that are used frequently (e.g. common subroutines stored in ADDL1, ADDL2, ...) and frequent unloading/loading is being done, performance can be improved by locking those programs in memory. There must be enough memory available to fit not only these locked programs but also the largest non-locked program. To see the sizes of transaction programs and to see which ones are currently loaded in memory, use the DUMP MEMORY option on the Diagnostics menu. To lock one or more programs in memory use the LOCK_IN_MEMORY keyword and then list the numeric value (1-121) of the program key or the program name (e.g. F1, PF1, ADDL1, ...). For example, to lock programs ADDL1 and ADDL2: LOCK_IN_MEMORY = ADDL1, ADDL2 Possible choices for program name are the same as are used for key names in the AKA, CALL, GOSUB, GOTO, KEY and SUB commands: F1 - F28, (1-28) BADGINIT, (29) FASTCLK, (30) PF1 - PF12, (31-42) SPF1 - SPF12, (43-54) RS232, RS232_2, (55,56) DI0 - DI7, (57-64) RES2 - RES9, (65-72) TCH1 - TCH40, (73-112) ADDL1 - ADDL8, (113-120) TODCLK (121) Mixing of validation file names and transaction program IDs in a single LOCK_IN_MEMORY command is allowed. This keyword is only valid if FILE_PAGING is being used. For more information, please see Keyword: FILE_PAGING. Keyword: LOG_COMPILE_WARNINGS ----------------------------- Use this keyword to tell the Client, when compiling a text script, to log to ETSPT.MSG any warning messages that occur. By default, warnings are not logged because there can be hundreds of them and logging them can affect performance during the download process. The format of this command is: LOG_COMPILE_WARNINGS = Y Keyword: MAPPED_KEY ------------------- This keyword is used to convert one incoming key code to another key code. This can be useful to get around the default behavior of the keys on some devices, especially when the device's keyboard can be remapped in the hardware or in the operating system. One such device is the Intermec CV30. On this device the default behavior of keys F1 - F10 do not generate the expected key codes as seen by the DCConnect Client. In addition, Windows Mobile 5.0 intercepts some keystrokes to perform actions like bringing up the task list (F1) or Calendar (F2). But the CV30 can be remapped (via the registry) to generate alternate key codes for the F1 - F10 keys. And combining this with the appropriate key mapping statements in EMULATOR.INI can allow the F1 - F10 keys to function as expected. The format of this command is: MAPPED_KEY = abc, xyz where 'abc' is the decimal ASCII value for the source key code (1-255) and 'xyz' is the decimal ASCII value for the target key code. For example to map the 'A' key (ASCII 65) to the 'B' key (ASCII 66) - not that you'd ever want to do that - use the following mapping statement: MAPPED_KEY = 65, 66 Either the source key code or the target key code or both can be extended ASCII codes. To specify that a code is actually an extended code, precede the ASCII decimal value with an x (upper or lower case). So to map the 'A' key (ASCII 65) to be the F1 key (extended ASCII 59): MAPPED_KEY = 65, x59 The normal ASCII codes can be found in many places on the internet but finding the extended ASCII codes as well as not as common. The following link has tables that cover both: http://brebru.com/asciicodes.html Keyword: MAX_TRANSACTIONS ------------------------- As of version 2.10c of the DCConnect Client, when support of transactions with data up to 750 bytes was implemented, this keyword is no longer relevant. For support of the longer transactions, the logfile format was changed so that it now stores variable length records instead of fixed length records. As a result, the capacity of the logfile is now specified as a number of bytes rather than a number of transactions. Furthermore, the size of the logfile can now be changed using the DCConnect User Interface; on the second page of the General tab of the Terminal Settings notebook, the Buffer Size box lets you specify the size of the logfile from 1K - 64K bytes. After the size is changed there and saved, the terminal must be redownloaded in order for the Client to use the new size. Also as of version 2.10c, the Client no longer stores all transactions both in memory and on the disk; all transactions are stored on disk but the Client will only store in memory, the oldest transaction that has not yet been sent successfully to the server. The MAX_TRANSACTIONS keyword now only comes into play when the Client starts up and finds that there is no valid transaction logfile. If MAX_TRANSACTIONS is defined, the Client will use that value and multiply it by 131 (the old fixed record size) in order to come up with the default size of the logfile. If the MAX_TRANSACTIONS keyword is not defined and the logfile does not exist, the Client will create a logfile using 1000 bytes as its size. The rest of the discussion in this section, applies only to versions 2.10b and earlier of the Client. This keyword defines how many transactions can be buffered in the terminal at one time. The value for MAX_TRANSACTIONS can be from 10-500. For example: MAX_TRANSACTIONS = 10 If this keyword is not included in EMULATOR.INI, the default number of transactions is 367. If an existing logfile contains transactions that have not been sent to the host PC and the Client is started using a MAX_TRANSACTIONS value that is different from the capacity of the existing logfile, the old capacity will be used for that run of the Client. A different capacity will only be used if the existing logfile contains no transactions when the Client is started. Note: The actual number of transactions available is one less than the number that is the capacity of the logfile because there is always at least one unused record in the logfile - indicating where the last record is. Therefore if MAX_TRANSACTIONS is set to 10, there will really only be space for 9 transactions plus one space for the unused record. Keyword: MENU_ITEM ------------------ This keyword, which is valid only for Windows CE, can be used to add items to the menus. The new menus items are tied to specific functions that the user must create in a C language DLL called ETSUSER.DLL. The keyword is defined as follows: MENU_ITEM = Menu Text, FunctionName [, password] where 'Menu Text' is the menu text to be included on the menu and 'FunctionName' is the name of the function, found in ETSUSER.DLL that will be called when the menu item is selected. The password parameter is optional. All parameters can be up to 50 characters each - although screen size might enforce a lower actual limit for the Menu Text. The first two parameters cannot contain commas because the Client looks for the comma to delimit the parameters. All leading and trailing spaces are not included. Imbedded spaces are allowed in the Menu Text but are not allowed in the FunctionName (since it is a C function name). The optional third parameter, password, is used to specify a special password that must be entered by the terminal user before the function associated with this MENU_ITEM is run. Even if the third parameter is omitted, if a MENU_PASSWORD is defined elsewhere in EMULATOR.INI, then the terminal user must enter that password before this MENU_ITEM is run. However, if you set the third parameter for a particular MENU_ITEM to be NONE (upper or lower case), then the terminal user will not be required to enter any password for this MENU_ITEM, even if a MENU_PASSWORD is defined. More than one MENU_ITEM can be defined at a time. Without any menu items defined, there are 3 top level menu items defined: File, Diagnostics and About. If any MENU_ITEM is defined, a 4th top level menu, called 'User', is added between the Diagnostics and About menu. The 'Menu Text' parameter from each MENU_ITEM definition is listed on the 'User' submenu - in the order that they are defined in EMULATOR.INI. The ETSUSER.DLL that must be created by the user, must include an exported function for each of the 'FunctionName's. The prototype for all must be the same: int FunctionName(HWND hwnd); The window handle that is passed in is for the DCConnect Client main client window. Below is a simple sample that illustrates two of these functions being defined: #includeint Test1(HWND hwnd) { MessageBox(hwnd, TEXT("You have successfully called menu function 1!"), TEXT("Menu Function 1"), MB_OK | MB_ICONINFORMATION); return(0); } int Test2(HWND hwnd) { MessageBox(hwnd, TEXT("You have successfully called menu function 2!"), TEXT("Menu Function 2"), MB_OK | MB_ICONINFORMATION); return(0); } The following EMULATOR.INI entries can be used with the above functions: MENU_ITEM = Test First, Test1, PW1 MENU_ITEM = Test Second, Test2 Note: For the first MENU_ITEM, the user must enter PW1 before the function is run. But for second MENU_ITEM, the user will only have to enter a password if MENU_PASSWORD is also defined in EMULATOR.INI. When using the Microsoft eMbedded Visual Toolkit development environment, you must use a module definition file (.DEF) in order to have the function names exported without any name decoration (addition of _ and @nn characters to the function name when stored in the DLL). The following is how ETSUSER.DEF would look for the above functions: LIBRARY ETSUSER EXPORTS Test1 Test2 The default project settings were sufficient for creating a working .DLL for the functions above. If necessary, initialization and cleanup code can be created by including the function: BOOL WINAPI _DllMainCRTStartup( HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved); in the .DLL. When ETSUSER.DLL is first loaded by the DCConnect Client (when parsing EMULATOR.INI), the above function will be called by the system with the parameter ul_reason_for_call set to DLL_PROCESS_ATTACH. And when the DCConnect Client is about to shut down, the above function is called by the system with the paramter ul_reason_for_call set to DLL_PROCESS_DETACH. This is the function that can be used to include operations that must be performed in order to completely put the terminal in and out of 'full_screen' mode. For more information about putting the terminal in this mode, please see Keyword: FULL_SCREEN. Keyword: MENU_KEY ----------------- This keyword can be used to override the default keys used to get bring up the Client menus. By default, pressing ?, = or the home key will bring up the Client menus. However, you can use the MENU_KEY keyword to specify the decimal ASCII value of another key to bring up the menus. If this is done, then the ?, = and home key no longer bring up the menus. (You could actually define the MENU_KEY to be 61 for the equal key or to be 63 for the question mark key or X71 for the home key and only that key would bring up the menus). The keyword is specified as follows: MENU_KEY = 37 In this example, the decimal ASCII value of 37 is specified, indicating that the percent sign (%) will be the only key that brings up the menus. If an extended key such as Home, End, F1 or Insert should be the menu key then specify X followed by the decimal value of the high order byte for the extended key code. For example, to specify the Home key as the menu key: MENU_KEY = X71 Do not put a space between the X and the the decimal number. The X can be upper or lower case. Other common extended keys are: F1 = X59 F2 = X60 ... = ... F9 = X67 F10 = X68 Home = X71 Page Up = X73 End = X79 Page Down = X81 Insert = X82 Delete = X83 F11 = X133 F12 = X134 Keyword: MENU_PASSWORD ---------------------- This keyword can be used to define a password that must be entered before most menu options are allowed to be performed. The menu options that are not guarded by the password are VERSION INFO and TXTN COUNT. The keyword is specified as follows: MENU_PASSWORD = abc where 'abc' is the unencrypted password (at this time no encryption is done). The password can be up to 7 characters in length. Password entry is case-insenstive. Therefore, if the password is defined as shown above, any of the following would be considered a match: ABC, abc, Abc, AbC, ... (No, '...' does not match!). Keyword: MODEM_DIAL_CHAR ------------------------ This keyword is valid only for the serial flavors of the Client. It is one of 4 keyword (MODEM_????) used to configure the Client so that it can make a dial-up connection to the DCConnect Server. The MODEM_DIAL_CHAR keyword specifies which key on the terminal is to be used to initiate the dial-up process. When dial-up access has been configured, the terminal is not normally using the serial port to communicate with the DCConnect Server - which actually allows the serial port to be used to talk to a printer or other serial device. When it is time to upload transactions to the DCConnect Server, the terminal must be attached to the modem and then the configured MODEM_DIAL_CHAR should be pressed to start the dial-up process. At this point, the Client will jump into the menus to the TXTN COUNT screen to show how many transactions are available for upload. The terminal will then use the configured MODEM_DIAL_STRING and MODEM_SETUP_STRING's to instruct the modem to dial-up dial-up the DCConnect Server and then upload transactions. In addition, if a download is queued for this terminal, it will be initiated. When the upload and download process has completed, the Enter key can be pressed to take the terminal out of the dial-up mode. This will cause the Client to issue a hang-up command to the modem. Then the terminal can be disconnected from the modem. The keyword is specified as follows: MODEM_DIAL_CHAR = 123 The value is the decimal value for the character. In the example above, 123 is the left curly bracket. Pick a character that would not be part of normal data entry (not a number, letter, period, space). It is is even better if a shift key is required to generate the character; this reduces the chance that it would be pressed accidentally. To make it easier for the terminal user to remember, you might want to pick a character that is generated by one of the shift keys and the 'D' key - ('D' for dial-up). For example: - On a Janus or Antares 2415/2425 terminal use the left curly bracket { whose value is 123. This is generated by pressing (Function) then 'D' - On a 6400 terminal use the right curly bracket } whose value is 125. This is generated by pressing (Gold shift) then 'D' - On a Symbol LRT3840 use the forward slash / whose value is 47. This is generated by pressing (Func) then 'D'. - On a Telxon 960SL terminal use the bar character | whose value is 124. This is generated by pressing (Func) then 'D'. The MODEM_DIAL_STRING along with the MODEM_DIAL_CHAR must be configured in order for the Client to get into dial-up mode and be able to dial the proper phone number. Keyword: MODEM_DIAL_STRING -------------------------- This keyword is valid only for the serial flavors of the Client. It is one of 4 keywords (MODEM_????) used to configure the Client so that it can make a dial-up connection to the DCConnect Server. The MODEM_DIAL_STRING keyword specifies the phone number for the modem to dial. The keyword is specified as follows: MODEM_DIAL_STRING = 9,1-123-456-7890 Up to 40 characters can be specified starting with the first non-blank character after the equal sign going to the end of the line. Any trailing blanks are ignored. The MODEM_DIAL_STRING along with the MODEM_DIAL_CHAR must be configured in order for the Client to get into dial-up mode and be able to dial the proper phone number. Keyword: MODEM_RETRIES ---------------------- This keyword is valid only for the serial flavors of the Client. It is one of 4 keyword (MODEM_????) used to configure the Client so that it can make a dial-up connection to the DCConnect Server. The MODEM_RETRIES keyword specifies the number times the Client will try to establish a dial up connection - if repeated attempts to send commands to the modem receive a 'BUSY' response. The keyword is specified as follows: MODEM_RETRIES = 3 Valid values are 0 to 5. This keyword is not required. If not provided, the default is 1 retry. Keyword: MODEM_SETUP_STRING --------------------------- This keyword is valid only for the serial flavors of the Client. It is one of 4 keywords (MODEM_????) used to configure the Client so that it can make a dial-up connection to the DCConnect Server. The MODEM_SETUP_STRING keyword is used to override the default strings that are sent to the modem to initialize it. By default, the following two strings are sent: M1X4&R1&H0&I0 &D0 Either one or both can be changed by using the MODEM_SETUP_STRING keyword. The keyword is specified as follows: MODEM_SETUP_STRING = 1, M1X4&R1&H0&I0 The number before the comma specifies which string is being replaced. The string starts with the first non-blank character after the comma and goes to the end of the line. Each string can be up to 40 characters in length. Trailing blanks are removed from the end of the line. If the default setup strings are correct for your modem, this keyword does not need to be specified. If both strings should be replaced, the keyword should be included in EMULATOR.INI twice - using a different string number for each definition. Keyword: MSG_BUFFER_FULL ------------------------ This keyword specifies the text of the message to show on the terminal when the transaction buffer is full. In the past, this text could be changed in the menus and then saved to a configuration file for use with the -F command line parameter. The keyword is specified as follows: MSG_BUFFER_FULL = No more room for transactions The text can be up to 40 characters starting with the first non-blank character following the equal sign. However, when this message is displayed it is followed by the number of transactions that are buffered. So you should allow for that value to be added to the end. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the message text from that file will override the MSG_BUFFER_FULL parameter in EMULATOR.INI. If the text for this message is not changed using a configuration file or this keyword, the default text is: "Buffer full: ". Keyword: MSG_WAITING_FOR_FILES ------------------------------ This keyword specifies the text of the message to show on the terminal when it is first rebooted and has not yet been downloaded. In the past, this text could be changed in the menus and then saved to a configuration file for use with the -F command line parameter. The keyword is specified as follows: MSG_WAITING_FOR_FILES = Waiting for files . . . The text can be up to 40 characters starting with the first non-blank character following the equal sign. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the message text from that file will override the MSG_WAITING_FOR_FILES parameter in EMULATOR.INI. If the text for this message is not changed using a configuration file or this keyword, the default text is: "Waiting for files". Keyword: NUM_COLUMNS / NUM_COLS ------------------------------- This keyword specifies the number of columns available on the the screen or "viewport" of the device that is running the Client. This value is used in determining where to put text when it should be right justified (such as date/time on the status line) or centered (for menu titles). It is also used to determine how scrolling should work. The keyword is specified as follows: NUM_COLS = 25 Valid values are 1 through 40. Use of the -D command line parameter of DEVICE keyword sets appropriate values for screen row and column based on the device selected. For example, selecting MAXILAN for the device will result in rows being set to 4 and columns being set to 40. But if you have an 8 line MaxiLAN terminal, you will need to use the NUM_ROWS=8 keyword in EMULATOR.INI. In the past, you could also override the default row and column values using the DISPLAY menu and then save them to a configuration file for use with the -F command line parameter. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the number of columns from that file will override the NUM_COLS parameter in EMULATOR.INI. If the number of columns is not changed using a configuration file or this keyword, the default value is based on the device setting in use or is set to 40 if no device is specified on the command line or in the .INI file. Keyword: NUM_PF_STRINGS ----------------------- This keyword defines how many PF Key Strings the Client will allocate space for. The value for NUM_PF_STRINGS can be from 0 to 24. For example: NUM_PF_STRINGS = 0 PF Strings in in the range 13-24 are considered the Shifted PF Strings 1-12. If this keyword is not included in the EMULATOR.INI file, the Client allocates space for the maximum: 24 PF Strings (@ 128 bytes each). Note: Even if this value is set to 0, PF Keys can still be used to assign transaction programs to and they can be used in ONKEY/ONSUB commands. Keyword: NUM_ROWS ----------------- This keyword specifies the number of rows available on the the screen or "viewport" of the device that is running the Client. This value is used in determining how much text to show on the screen when dumping trace data or file information and in determining where the bottom of the screen is if the status row is configured to be shown on the bottom of the screen. It is also used to determine how scrolling should work. The keyword is specified as follows: NUM_ROWS = 8 Valid values are 1 through 20. Use of the -D command line parameter of DEVICE keyword sets appropriate values for screen row and column based on the device selected. For example, selecting MAXILAN for the device will result in rows being set to 4 and columns being set to 40. But if you have an 8 line MaxiLAN terminal, you will need to use the NUM_ROWS=8 keyword in EMULATOR.INI. In the past, you could also override the default row and column values using the DISPLAY menu and then save them to a configuration file for use with the -F command line parameter. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the number of rows from that file will override the NUM_ROWS parameter in EMULATOR.INI. If the number of rows is not changed using a configuration file or this keyword, the default value is based on the device setting in use or is set to 25 if no device is specified on the command line or in the .INI file. Keyword: NUM_TOUCH_STRINGS -------------------------- This keyword defines how many Touch Point (or Touch Region) Strings the Client will allocate space for. The value for NUM_TOUCH_STRINGS can be from 0 to 40. For example: NUM_TOUCH_STRINGS = 0 If this keyword is not included in the EMULATOR.INI file, the Client allocates space for the maximum: 40 Touch Strings (@ 128 bytes each). Note: Neither 7524 terminals nor supported 3rd-party terminals actually have Touch screens that the Client interfaces with. These touch point strings are a carry over of a feature from IBM 7527 model 2 terminals which allowed transaction programs to be started by pressing a Touch Region on the screen and allowed input fields to be filled in with predefined strings for each region on the screen. The Client does not support the ability to detect a region being pressed but it does allow storage of the predefined data for the strings that were associated with each region. Keyword: PF_AUTO_ENTER ---------------------- This keyword is used to tell the Client to assume an Enter key has been pressed after any PF Key is pressed for a READ command for which PF Key input is allowed. The user, therefore, does not have to press Enter to complete the field. To turn on this feature, use the following keyword in the .INI file: PF_AUTO_ENTER = Y When this keyword is in effect, the Client assumes the pressing of the Enter key for any active PF Key, even when the PF Key String associated with the pressed key is 0 length. If the READ command specifies a fixed length field and the content of the PF Key String does not fill the field, the field will be padded out to the fixed length when PF_AUTO_ENTER is in effect. If you plan to use PF Key Strings for input during READ commands, be sure the NUM_PF_STRINGS keyword specifies a value equal to or larger than the highest PF key that will be used - or eliminate the keyword altogether in order to activate all PF Keys. Keyword: PF_MAPPING ------------------- This keyword does the same thing as the PF_MAPPING option that is available in the menus. To set PF mapping on, use the following keyword in the .INI file: PF_MAPPING = Y When PF_MAPPING is on, the number keys 1-9 and 0 can perform the same functions as PF1 through PF10 both when starting a transaction program and in a transaction program ONKEY/ONSUB commands. Keyword: POWER_OFF_TIMER ------------------------ This keyword is used to conserve terminal battery power consumption. The keyword can be set to a value of from 1 to 120. This value indicates the number of minutes the terminal should stay powered on without keyboard or scanner activity. When there isn't any activity, the terminal will power off and can be turned back on by pressing either the scanner trigger or terminal power on/off button. As an example, if you wish the terminal to power off after three minutes of inactivity the keyword would be specified as follows: POWER_OFF_TIMER = 3 If this keyword is not used, the default is the terminal will require manual power off. Note: This keyword is only valid on Symbol Spectrum24 terminals (1.40X), Intermec 6400 terminals (1.41D), and the terminals that use falc_tsr.exe (2.00E) which are the LXE MX2 and PSC/Percon Falcon terminals. Keyword: ROW_PIXEL_SPACING -------------------------- This keyword, which is valid only for Android devices, is used to specify the number of pixels that should be used between rows of text. This allows for more fine tuning of the screen layout for different device hardware. If not specified, this value is set to 6 by default. The Client takes this value into account, along with the NUM_ROWS and NUM_COLS settings, when it determines the best font size to use in order to fill the screen with the largest possible characters. The range of allowable values is 0 to 100. This keyword is specified as follows: ROW_PIXEL_SPACING = 7 Keyword: RESEND_TIMER --------------------- This keyword specifies how long the Client waits before it resends a transaction. When a transaction is sent to the data collection server, an acknowledgement is expected back within some amount of time to indicate that the server received the transaction. If a response is not received before the time expires, the Client will automatically resend the transaction. The resend timer for an RS-232 attachment is used differently from how it is used for a TCP/IP attachment. It is used only when the Client has been told it must receive the CMD K release command before transactions are removed from the Client (the 16-bit DCC/2 runtime configured terminals this way; the DCC/2 32-bit runtime and DCConnect do not). If configured this way, when the Client has many transactions buffered, it will send them in order to the server in response in response to successive polls. The Client may send many transactions to the server without receiving the CMD K release command. However, if the resend timer expires, the Client will assume the server did not receive any of the outstanding transactions and will reset its internal pointers so that the very first transaction in the buffer will be sent to the server again on the next poll. This keyword is specified as follows: RESEND_TIMER = 10 Valid values are 1 through 255 seconds or use 0 to prevent transactions from being resent. In the past, you could change the resend timer using the menus and then save the value to a configuration file for use with the -F command line parameter. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the timer value from that file will override the RESEND_TIMER parameter in EMULATOR.INI. If the number of rows is not changed using a configuration file or this keyword, the default value is 25 seconds for the serial flavors of the Client or 5 seconds for the TCP/IP flavors. (Prior to version 2.30d the default for TCP/IP was 60 seconds). Keyword: SCAN_LOOK_FOR_AIM_CODE ------------------------------- This keyword should be used to tell the Client to look for the 3 character AIM Symbology code in scanned data. If the first 3 characters of the scanned data are determined to be an AIM Symbology code (first of three character sequence is ], the ending square bracket), then the identifier sequence will be parsed to determine the bar code type - which is a value that is returned in the first byte of the scan data buffer for the SenRead CFR API. The 3 character AIM code is then stripped from the start of the scan data. But if the AIM code it is not found, then nothing is stripped from the front of the scan data. The keyword is specified as follows: SCAN_LOOK_FOR_AIM_CODE = Y This keyword is ignored for Antares terminals. For all others, this keyword will only take effect if the SCAN_SENTINEL_CHARS keywords is also in effect. Although SCAN_STRIP_COUNT_FRONT also handles the AIM Symbology code (if the strip length is at least 3 and the first character is ]), it differs because that keyword will always strip the specified number of characters from the front of the scan data regardless of whether the AIM code is found. Only one of SCAN_LOOK_FOR_AIM_CODE or SCAN_STRIP_COUNT_FRONT should be used. If both are used, SCAN_STRIP_COUNT_FRONT will take precedence (if its value is > 0). Below is a list of the AIM Symbology Identifier values that are handled, along with the value from CFRAPI24.H that will be returned in SenRead for each. Note that there is always a 3rd 'modifier' byte that follows the 2 byte values shown below: ]A CODE_39 ]B TELEPEN_CODE ]C CODE_128 ]D CODE_ONE ]d DATAMATRIX ]E UPC_A // This covers all UPC and EAN variations ]e RSS_CODE ]F CODABAR ]G CODE_93 ]H CODE_11 ]I I_25_CODE ]K CODE_16K ]L PDF417 ]M MSI_CODE ]N ANKER_CODE ]O CODABLOCK ]P PLESSEY ]Q QR_CODE ]R S_25_CODE // 2 bar ]S S_25_CODE // 3 bar ]T CODE_49 ]U MAXICODE ]z AZTEC_CODE Keyword: SCAN_SENTINEL_CHARS ---------------------------- This keyword should be used if it is necessary to distinguish between keyboard and scanner input or if it is necessary to better enforce the lengths of bar codes that are allowed to be scanned. Without this keyword, the Client is unable to tell what input came from the scanner and what was keyed in. The keyword is specified as follows: SCAN_SENTINEL_CHARS = 91,93 The two values are the decimal values for the start (preamble) and ending (postamble) characters that have been configured for the scanner input. In the example above, 91 is the left square bracket and 93 is the right square bracket. Note1: some of the terminals that are supported by the Client do not have the capability to configure preamble and postamble characters. For these terminals the SCAN_SENTINEL_CHARS keyword will not work and is therefore unsupported. In order for this to work the terminal must be configured to have preamble/postamble characters prepended/appended to all barcodes/magnetic stripes that are scanned. Any non-digit character can be used between the start and end values. Both values must be included and they cannot be the same - otherwise the keyword is ignored. You should choose values for the sentinel characters that are not used by the terminal operator - or that can't even be generated. Of course the values specified here must match those configured as the preamble and postamble characters using the terminal manufacturer's configuration utility. IMPORTANT: When using this keyword, it is no longer necessary - and is in fact incorrect - to use a carriage return as a postamble character. It should not be used as the preamble either since this is a key that could potentially be used by the terminal operator. When this keyword is used, the transaction program READ (:R) command will only accept keyboard input if the the alphanumeric or numeric keyboard device is selected. In the past, if the sensor devices were selected, keyboard input was also accepted; that's because in the past there was no way to distinguish between keyboard and scanner input. Likewise, if the READ command will only accept scanner input if the alphanumeric or numeric device is selected for the command's parameters. Another advantage to using this keyword is that the lengths of badges scanned can be enforced. For fixed length reads, the badges accepted will be those of the specified fixed length. For variable length reads, no badges will be accepted if they exceed the maximum length. Since the actual scan is handled by the the terminal's hardware or an attached scanner, the terminal's scanner-related hardware will always generate a good beep for all barcodes it can scan - even if they are not of a length that is considered to be valid by the Client. The Client will ignore (and discard) any barcodes that it considers to be of an invalid length; the READ command will continue to wait for valid input. The operation of the CFR APIs are also changed when the this keyword is used. Without this keyword, all keyboard and scanned input had to be read through the KbdReadAscii() API. With this keyword in effect, only keyboard input comes in through KbdReadAscii(); you must use SenRead() to get scanned input. Thus CFRs are now able to differentiate between keyboard and scanned input and disallow one or the other if desired. Keyword: SCAN_STRIP_COUNT_FRONT ------------------------------- This keyword should be used if it is necessary to strip characters, such as the 3 AIM Symbology Identifier characters, from the front of every bar code that is scanned. The keyword is specified as follows: SCAN_STRIP_COUNT_FRONT = 3 This keyword is ignored for Antares terminals. For all others, this keyword will only take effect if the SCAN_SENTINEL_CHARS keywords is also in effect. The length specified can be from 1-128. If the length specified is greater than or equal to the length of the bar code that was scanned (including imbedded characters such as the AIM Symbology Identifier characters), then that scan will be ignored. Stripping of leading characters for all scanned bar codes can be useful in the situation where a terminal is configured to include the AIM Symbology Identifier for another application that is being run on the device and at the same time the DCConnect Client is running on the device, thus requiring these extra characters to be ignored. If the stripped characters are determined to be AIM Symbology Identifier characters (first of three character sequence is ], the ending square bracket), then the identifier sequence will be parsed to determine the bar code type - which is a value that is returned in the first byte of the scan data buffer for the SenRead CFR API. For a list of the AIM Symbology Identifier values that are handled, see the end of SCAN_LOOK_FOR_AIM_CODE. Keyword: SCRIPT_NAME -------------------- This keyword is used to specify that the Client should load transaction programs and and the rest of its configuration from the specified script text file. This feature was completed for version 3.0.9 of the DCConnect Client and DCConnect Server. It eliminates the need to compile transaction programs into a .PGM file using the Data Collection Transaction Program Builder (DCTPB). Instead the Client can now process those text (e.g. .COD) files directly. In fact the text file processing handles not only the transaction programs but everything else that can be downloaded to a terminal running the Client: - CFR - System Messages - Validation files - Configuration parameters found in the Terminal Settings noteboook such as BUFFERING_MODE Because a majority of the text file content is made up of the transaction programs and the DCTPB manual has been used to document transaction program commands, that manual has been updated to describe the additional commands that constitute a full text file download - rather than adding all of that reference material to this document. With the ability to read text files directly, the Client now has the following benefits: - After a download of text files (and optional CFR, validation files, ...) from the Server to the Client is received, all of those files are stored locally. That way when the Client is stopped and restarted it can load those files immediately without having to wait to have them downloaded from the server. There is a new version command that can be added to one of the text files which the server and client can use to determine if they both have the same set of files and can therefore avoid the download process. The client also has a mechanism to determine if it has a partial or complete download from the server. If the client is stopped in the middle of a download, the next time it is restarted, it will detect that the local files are not a complete download and it will therefore request a new download from the server. - Because the text files are read directly by the client, it knows the variable and parameter names and can display more meaningful trace information when running in stepping mode, writing to the command log or display the contents of variables/parameters on the VIEW USER VAR screen. - Support added for multiple languages (via the new Start_Language, End_Language, Set_Language commands) for MESSAGE prompts as well as System Messages. - When used in conjunction with the specifing of a (sub) model for the terminal and the CFR_FILE command's capability to be repeated for different models, the same set of text files can be used with different models of terminals. This also means all terminals running the same set of programs can be in the same DCConnect function group even when different CFRs have to be used for different models. In the past, if a different CFR was needed for different terminals, they had to be in different function groups even if everything else was the same. - Because the Client now processes the Key command directly, no longer is it necessary to set up the associations between keys and bindings that used to have to be done in the Terminal Settings notebook. Although the SCRIPT_NAME can be put into EMULATOR.INI or its equivalent -S can be specified on the command line, the normal use for SCRIPT_NAME parameter is for the server to put it into MASTER.INI and then download that MASTER.INI, the specified script file, the CFR and any others to the Client. When the download completes, the Client reads MASTER.INI and then loads the script file specified by the SCRIPT_NAME parameter - along with all of its references. The keyword is specified as follows: SCRIPT_NAME = SCRIPTS.TXT Keyword: SELECT_FONT -------------------- This keyword, which is valid only on Windows CE devices, is used to specify a particular font to be used for the display. While not enforced, it is highly recommended that a fixed-pitch font such as Courier be specified. If this keyword is not used, the Client asks the operating system for a list of available fixed-pitch fonts and it uses the first one in the list. If the specified font name is not found, then the Client acts as if the keyword were not specified, using the first fixed-pitch font from the list provided by the operating system. The keyword is specified as follows: SELECT_FONT = Lucida Console Capitalization of the font name is not important. However, if the font name contains spaces, be sure to use the correct number of spaces. In the example above, there must be exactly one space between "Lucida" and "Console". In addition to specifying the keyword in the EMULATOR.INI file, it may be necessary to copy the appropriate font file to the terminal's \Windows\Fonts directory. For example, the font file for "Lucida Console" is LUCON.TTF. Using Active Sync this file can be transferred directly from a Windows NT/2000 PC's \winnt\fonts directory to the terminal's \Windows\Fonts directory. A better method to transfer the font file to the terminal would be to include it in the DCConnect Client .CAB file. Please see, Building a .CAB File to Install the Client on a Windows CE Device. You can verify that the Client is using the font you specified by using the View Settings option in the Client menus and going to the second page of settings. You should see the setting for SELECTED FONT. Even if the SELECT_FONT keyword is not used, the default font name in use will be shown. For more information about the View Settings menu option please see Menus. There is another way to use the SELECT_FONT keyword when you are not sure what fonts are available. Instead of specifying a font name, you can specify a number indicating which font from the list of available fonts should be used. For example, specifying: SELECT_FONT = 1 tells the Client to use the first font in the list of available fixed-pitch fonts (which is what it does by default if this keyword is not used). If you specified: SELECT_FONT = 3 the Client would use the 3rd font in the list of available fixed-pitch fonts. If there are fewer fonts in the list than the number specified, the last font in the list will be used. In all cases, you can go to the VIEW SETTINGS menu of the DCConnect Client to find out the name of the font being used. Once you have settled on an appropriate font, use the name instead of the number in EMULATOR.INI. Note: On a Windows NT/2000 PC you can view what a particular font looks like by using Windows Explorer to explore the \winnt\fonts directory (or any other containing .TTF files) and then double clicking on the appropriate font file. You can determine whether a font is non-proportional or not by comparing the sizes of the lines that show the lower and upper case letters. If the sizes of these lines is the same, the font is non-proportional. Keyword: SHOW_IDLE_TIME ----------------------- This keyword is used to specify that the date and/or time be displayed on the terminal during idle times. There are a couple of ways for specifying the parameters for this keyword. The simplest is: SHOW_IDLE_TIME = Y If a simple Y is specified, this means the idle time should be shown using the date and time formats specified in the parameters that are downloaded to the terminal from the host software (e.g. DCConnect). Using this method, the following things can be changed about the prompt: - What's shown: date and time, just date, just time - Date format: YYMMDD, MMDDYY, DDMMYY, JJJYY, YYJJJ - Date separator: / - or . - Time format: 12 or 24 hour - Time separator: . or : Prior to fix pack E for version 1.40 of DCConnect, the 7524 Terminal Settings notebook did not include a page that allowed these options to be changed - although the 7527 Terminal Settings notebook did have a page for these options. If you are running fix pack E or a later version of DCConnect, it is probably best to simply set SHOW_IDLE_TIME to Y and then configure the format using the terminal settings notebook; this allows you to quickly change the format in one place rather than having to change the EMULATOR.INI file in all terminals. Alternatively, the parameters for specifying the date and time format can be specified along with the SHOW_IDLE_TIME keyword. In this case, the parameters that are downloaded from the host software are ignored. The choices for date format are: YYMMDD MMDDYY DDMMYY JJJYY YYJJJ the choices for time format are: 12 24 Following the equal sign you can specify one of the date formats and/or one of the time formats. If both the date and time are to be shown, at least one space or comma must separate the date format and the time format. Here are some examples: To show just the date using MMDDYY format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = MMDDYY To show the date using YYMMDD and the time using 24 hour format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = YYMMDD, 24 To show just the time in 24 hour format, add the following line to EMULATOR.INI: SHOW_IDLE_TIME = 24 The default date separator is the slash (/). To change the date separator, add a line to EMULATOR.INI using the Keyword: DATE_SEPARATOR. The default time separator is the colon (:). To change the time separator, add a line to EMULATOR.INI using the Keyword: TIME_SEPARATOR. The date and/or time are shown in the desired format, right-justified on the same line that the idle prompt (e.g. Press a key) is displayed. One space is left open to the right of the date/time so that the cursor does not move to the next line after showing the date/time. If this keyword is not included in EMULATOR.INI, the date and time are not displayed. Keyword: STATUS_ROW ------------------- This keyword allows you to specify which row status messages such as 'Waiting for files', 'Out of service', 'Waiting for host response', ... should be displayed. The keyword is specified as follows: STATUS_ROW = 8 Valid choices are 1-20, TOP or BOTTOM. TOP is the same as 1. BOTTOM means to use the bottom of the physical screen/view port - as defined by the DEVICE or NUM_ROWS parameter. In the past, you could change the status row using the menus and then save the value to a configuration file for use with the -F command line parameter. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.SER) then the status row from that file will override the STATUS_ROW parameter in EMULATOR.INI. If the status row is not changed using a configuration file or this keyword, the default setting is BOTTOM. Keyword: TCPIP_ENCRYPT ---------------------- This keyword, new in version 3.2.1, is valid only for TCP/IP flavors of the Client that are built for Windows, Windows Mobile and Android platforms. It is used to specify that encryption should be used by the Client to send transactions and user variable data to the server and that the server should encrypt all user variable data and any validation file data that it sends to the Client. This option takes effect only if the DCConnect Server is also at version 3.2.1 or later. The keyword is specified as follows: TCPIP_ENCRYPT = Y If this keyword is not specified, encryption is not used. Keyword: TCPIP_HOST ------------------- This keyword is not valid for the serial flavors of the Client. It is used to specify the IP address and port number for the host data collection server (e.g. DCConnect) - in the same way the the -H command line parameter is used. Using this parameter causes and 'I-am-here' message to be sent to the data collection server as soon as the Client is started - which should result in the start of the download in a matter of seconds. This keyword is ignored on Antares terminals because the Controler IP Address is set in the Antares menus - or using the SETUPANT.EXE utility. For more information about the Antares menus and the SETUPANT.EXE utility, please see Using the Antares Menus and the SETUPANT.EXE Utility. If the Client is not given the IP address and port number of the server, the Client waits for the server to issue a poll to the Client's IP address and port number before it communicates at all. Typically, the data collection server will issue this poll once a minute unless its configuration has changed that value. This keyword is specified as follows: TCPIP_HOST = 99.99.99.101, 7500 The port number value (7500 shown here) can be omitted - along with the preceding comma. If no port number is specified, it is assumed to be 7500. Be sure not to put any spaces around the periods in the IP address. Starting with version 2.10 of the Client, you also have the option to specify the hostname of the DCConnect Server instead of its IP address. (Except for Symbol Spectrum 24 terminals such as the PDT6840, VRC6940 and WSS1040). For example, if the Windows flavor of the Client is running on the same PC as the Server, the DCConnect server and port could be specified as: TCPIP_HOST = localhost, 7500 Also, starting with version 2.10 of the Client, a colon can be used instead of the comma: TCPIP_HOST = localhost:7500 Note: Depending on the network setup, it may be necessary to give the fully qualified network name (hostname@domain). For example: TCPIP_HOST = dcserver@ibm.com, 7500 If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.TCP) then the value for the host from that file will override the TCPIP_HOST parameter in EMULATOR.INI. Furthermore, if the command line parameter -H is specified, it will override both the configuration file and the TCPIP_HOST parameter. Therefore the TCPIP_HOST parameter will take effect only if the the -F and -H command line parameters are not used. Note: while there was never a place in the menus to set the host IP address and port number, if the -H parameter was used on the command line and then later the configuration was saved, the values specified in the -H parameter were in fact saved to the configuration file. Keyword: TCPIP_PORT ------------------- This keyword is not valid for the serial flavors of the Client. It is used to specify the IP port number that the Client will use - in the same way that the -P command line parameter does. The keyword is specified as follows: TCPIP_PORT = 7501 The valid choices for port number are 2000 through 9999. If a value other than 7500 used, be sure the data collection server (e.g. DCConnect) includes both IP address and this port number for this terminal's address in the server configuration. This keyword is ignored on Antares terminals because the Network Port is set in the Antares menus - or using the SETUPANT.EXE utility. For more information about the Antares menus and the SETUPANT.EXE utility, please see Using the Antares Menus and the SETUPANT.EXE Utility. If the the -F command line parameter is used to load a configuration file (e.g. ETSCFG.TCP) then the port value from that file will override the TCPIP_PORT parameter in EMULATOR.INI. Furthermore, if the command line parameter -P is specified, it will override both the configuration file and the TCPIP_PORT parameter. Therefore the TCPIP_PORT parameter will take effect only if the -F and -P command line parameters are not used. If no port number is specified in the .INI file, the command line or a configuration file, the default value 7500 will be used. Keyword: TERM_NAME ----------------------- This keyword, which is equivalent to the -N command line option, is used to specify the terminal name that this Client represents. It must be a name that exists in the DCConnect Server configuration and the name is case-sensitive. This keyword is only valid for TCP/IP flavors of the client because it allows a client to connect to the server in the situation that the machine on which the client is running has neither a fixed IP address nor a consistent hostname. (This is typically the case when the client machine must first connect to a VPN before it can contact the DCConnect Server machine). This process is known as "terminal name resolution". When using the TERM_NAME keyword or -N command line option it is important that the TCPIP_HOST keyword (or its -H command line equivalent) also be used to specify the correct address of the DCConnect Server so that communications can be properly initiated between client and server. Note that if terminal name resolution will be used for this terminal, then in the DCConnect configuration for this terminal, the address should be set to 255.0.0.0 or <resolve-by-name> (optionally followed by the port number if that is not 7500). The keyword is specified as follows: TERM_NAME = Warehouse1 Keyword: TERM_SUB_MODEL ----------------------- This keyword can be used to give more information about the type of the terminal that this Client is running on. One of the main uses of this is The keyword is specified as follows: TERM_SUB_MODEL = Win32 Other choices for sub model, which are defined in TRMMODEL.INI, found in the Data directory of the DCConnect Server installation, include: Intermec_600 Intermec_700 Intermec_5020 Intermec_6651 Intermec_CK30 Intermec_CV60 LanPoint_CE Symbol_81xx Symbol_90xx Symbol_91xx X86EMDebug The primary use of this command is to choose the correct CFR_FILE command, when there are multiple such commands in the scripts, each specifying a different CFR executable for different terminal models. Keyword: TIME_SEPARATOR ----------------------- This keyword can be used to change the time separator character when used in conjunction with Keyword: SHOW_IDLE_TIME. By default the time separator is the colon (:). It can be changed to the period (.) The keyword is specified as follows: TIME_SEPARATOR = . The only valid choices are the colon (:) or the period (.) Keyword: TIMEZONE_ADJUST ------------------------ Support for this keyword was added specifically for use when the DCConnect Client is running in a Citrix environment and the Citrix clients are in different timezones from the Citrix server. This support was added because the Citrix client was not able to properly change to a timezone different from the server and because Citrix was configured to prevent the DCConnect Client from adjusting the actual operating system time. This keyword tells the DCConnect Client to pretend that the time is one or more hours earlier or later than it actually is being reported by the operating system. The DCConnect Client adjusts the time in the following situations: - If the SHOW_IDLE_TIME keyword is in effect, the time shown is the adjusted time. - The timestamp included in all transactions and validation requests is the adjusted time. - The time is adjusted before being returned by the CFR APIs RtcGetAsciiDate, RtcGetAsciiTime, RtcGetDate and RtcGetTime. - Events such as changing in and out of fast clocking intervals and any scheduled alarms are based on the adjusted time. - The time returned by command 7 (used by the DCConnect API DcxQueryTermDateTime) is the adjusted time The keyword takes a positive or negative value in the range -23 to 23, excluding 0. This value indicates the number of hours the terminal's time should be ahead of (positive) or behind (negative) the time on the DCConnect Server. For example, if the DCConnect Server is in the eastern time zone and the terminal is running on a system that is one hour behind in the central time zone, then the following statement should be included in EMULATOR.INI TIMEZONE_ADJUST = -1 This keyword should not be used if the version of the DCConnect Server that is in use includes support for time zones and the system on which the DCConnect Client is running allows the Client to adjust the time. Keyword: TOGGLE_BACKLIGHT_CHAR ------------------------------ This keyword is used to allow integrated use of the backlight on a Janus terminal. (This option is not supported on any other terminal at this time). For many terminals, such as the Antares, the keyboard has a backlight key that is used to control the backlight; so the Client does not need to do it. The keyword is specified as follows: TOGGLE_BACKLIGHT_CHAR = 126, 30 The first parameter is the decimal value of the character that is used to toggle the backlight state. In the example above, 126 is the tilde character (~). You should pick a character that is not used for any other purpose. The second parameter is the backlight timeout in seconds. This is an optional parameter. By default, the Janus uses a 10 second timeout. This parameter may range from 1 to 60 seconds. If the TOGGLE_BACKLIGHT_CHAR parameter is not included in EMULATOR.INI, then the Client does not control the backlight on the Janus terminal in any way. If it is included, the Client initializes the timeout but leaves the backlight off - until the toggle character is pressed. If the backlight state is off and the toggle character is pressed, the backlight will turn on and remain on for the timeout period. Until the toggle character is pressed again, the backlight will automatically be reactivated when a key is pressed or whenever data is scanned (since scan data goes to the keyboard). If the backlight state is on and the toggle character is pressed, the backlight will be turned off. In this state, key presses and scans will not turn the backlight on; the toggle key must be pressed again to turn on the backlight. Note: the Janus automatically provides a multi-character key sequence for toggling the backlight. However, if this sequence is used, the Client will not know about it and the description of the behavior above may no longer be accurate. If backlight usage is needed for the Janus, it is recommended that the TOGGLE_BACKLIGHT_CHAR parameter be used since it provides a simpler key sequence to toggle the backlight and it allows ordinary keystrokes to automatically turn the backlight on after it times out - if the backlight state is on. Keyword: TSR_INTERRUPT ---------------------- This keyword can be used in conjunction with one of the USE_TSR_??? keywords to tell the Client what interrupt to use to talk to the TSR (Terminate-and- Stay-Resident interrupt handler). By default, interrupt 0x6a is used for all devices except the Symbol 3xxx and 6xxx devices; they use interrupt 0x08. You may find that using the default interrupt causes problems - even causing the terminal to lock up. In this case, use the TSR_INTERRUPT keyword to tell the Client to use a different interrupt. In addition, you will need to tell the appropriate TSR executable to use the same interrupt by passing the interrupt as the first parameter when the TSR executable is started. For example, on the LXE MX2 and PSC/Percon Falcon, use of interrupt 0x6a does not work. However, interrupt 0x63 does work. Therefore, if the EMULATOR.INI for these terminals includes the following two statements: USE_TSR_FOR_KEYBOARD = Y USE_TSR_FOR_SCANNER = Y then it must also include: TSR_INTERRUPT = 0x63 In addition when starting falc_tsr.exe you must tell it to use interrupt 0x63 as well: falc_tsr 0x63 This keyword was added in version 2.00D of the Client (December 2002). At that time all of the following TSR executables were also changed to allow the default TSR interrupt to be overridden by specifying the alternate interrupt on the command line: 6400_tsr.exe - For Intermec 6400 terminals falc_tsr.exe - For LXE MX2 and PSC / Percon Falcon terminals s24_tsr.exe - For Symbol 3xxx and 6xxx terminals t870_tsr.exe - For Telxon 870 IM terminals telx_tsr.exe - For Telxon 960 IM and 860 IM terminals The interrupt can be specified as either a decimal value in the range 0 to 255 or as a hex value in the range 0x00 to 0xff. If specifying in hex, the '0x' must be part of the value - as is shown in the examples above. Keyword: TXTN_BUFFER_WARNING_COUNT ---------------------------------- This diagnostic keyword can be used to force the Client to show the TXTN COUNT menu whenever a new transaction is created that causes the current number of transactions in the transaction buffer to exceed a certain value. This can be useful in alerting the terminal user that communications with the Server have been lost for an extended amount of time. The terminal user can then notify a system administrator to look into the problem. This keyword is similar to the TXTN_BUFFER_WARNING_TIMER keyword below. However, it is more appropriate to use TXTN_BUFFER_WARNING_COUNT when transactions are being generated quickly and it is important to find out quickly when transactions are not being sent to the Server. The keyword is specified as follows: TXTN_BUFFER_WARNING_COUNT = 25 where the value can be any number greater than 0. If this keyword does not exist or the value is set to 0, this feature is disabled. The default behavior is for the warning also to be given for every transaction that is generated after the count is reached. If you want the warning to occur only when the warning count is reached, and not for all transactions that exceed the warning count, then add a comma and the keyword ONCE_ONLY after the value. For example: TXTN_BUFFER_WARNING_COUNT = 25, ONCE_ONLY If you want this warning to occur repeatedly, at an interval specified by the count, then instead of the ONCE_ONLY keyword, you can specify REPEAT. For example, to have the Client give a warning when the transaction buffer reaches 10, 20, 30, 40, ... transactions, put the following in EMULATOR.INI: TXTN_BUFFER_WARNING_COUNT = 10, REPEAT Another aspect of the TXTN_BUFFER_WARNING_COUNT being set is that a special error transaction is generated so that it can be sent to the Server the next time communications with the Server are reestablished. This allows an application to capture the fact that the terminal's transaction buffer did hit the configured warning count - albeit the error transaction is not sent until communications are reestablished and the buffered transactions start flowing to the Server. This error transaction is generated only once for each time that the transaction buffer contains more than one transaction. The error transaction is generated at the time that the first warning is shown. A second error transaction is not generated until the transaction buffer is completely emptied out and then later begins to fill up again, exceeding the warning level. Both the TXTN_BUFFER_WARNING_COUNT and TXTN_BUFFER_WARNING_TIMER can be used at the same time. Keyword: TXTN_BUFFER_WARNING_TIMER ---------------------------------- This diagnostic keyword can be used to force the Client to show the TXTN COUNT menu whenever a certain number of minutes has gone by during which the transaction buffer contains more than 1 transaction. This can be useful in alerting the terminal user that communications with the Server have been lost for an extended amount of time. The terminal user can then notify a system administrator to look into the problem. This keyword is similar to the TXTN_BUFFER_WARNING_COUNT keyword above. However, it is more appropriate to use TXTN_BUFFER_WARNING_TIMER when transactions are being generated infrequently - and it could therefore take a while for the transaction count to grow. The keyword is specified as follows: TXTN_BUFFER_WARNING_TIMER = 10 where the value can be any number greater than 0 indicating the number of minutes that should elapse before an error is given.. If this keyword does not exist or the value is set to 0, this feature is disabled. As is the case with TXTN_BUFFER_WARNING_COUNT, another aspect of the TXTN_BUFFER_WARNING_TIMER being set is that a special error transaction is generated so that it can be sent to the Server the next time communications with the Server are reestablished. This allows an application to capture the fact that the terminal's transaction buffer did contain transactions for the configured warning timer period - albeit the error transaction is not sent until communications are reestablished and the buffered transactions start flowing to the Server. This error transaction is generated only once for each time that the transaction buffer contains more than one transaction. The error transaction is generated at the time that the first warning is shown. A second error transaction is not generated until the transaction buffer is completely emptied out and then later on begins to fill up again. Both the TXTN_BUFFER_WARNING_TIMER and TXTN_BUFFER_WARNING_COUNT can be used at the same time. Keyword: USE_ROOT_FOR_DOWNLOAD_FILES ------------------------------------ This keyword tells the Client to write downloaded files to the root directory. This is intended for for devices (typically Windows Mobile devices) that use a flash drive for persistence - which in some cases have been found to have performance problems over time. If you find that on a certain device the download process from the DCConnect Server gets all the way to the end, pauses for a bit, and then starts all over from the beginning, and this continues to cycle, you can try this keyword to see if resolves the problem. This problem has been seen to occur with the CFR file (e.g. DCC07500.DLL) after it is downloaded from the server and then the client is trying to load it. If you are monitoring the download from a line trace or from the Data Monitor, this delay is seen to occur when the "set time" command is sent. The keyword is specified as follows: USE_ROOT_FOR_DOWNLOAD_FILES = Y Keyword: USE_RS232_FOR_SCANNER ------------------------------ This keyword can be used to tell the Client to look for scanner input from the RS232 serial port. When active, the Client will turn on the serial port any time that scanner input is accepted (for CCFR calls it is always on). The scanner must be configured to add a single terminating character after the bar code data. Typically this would be a single carriage return character (decimal value of 13). The Client will buffer characters that are read from the serial port and when it sees the terminating character, it will place all preceding characters into the scanner buffer so that commands like READ, FB, KB or the CFR call scanRead() can get the bar code data. The serial port baud rate, parity, data bits and stop bits are configured based on the RS-232 parameters that are downloaded to the terminal (DCConnect Terminal Settings notebook -> Devices tab -> RS232 page). Enter the keyword as follows: USE_RS232_FOR_SCANNER = Y to specify that a carriage return is the terminating character. To specify a different terminating character, replace the Y with the decimal number for the ascii value of that character. For example, to specify a line feed which has an ascii value of 10 decimal: USE_RS232_FOR_SCANNER = 10 When this keyword is in effect, the serial port is turned on when scanner input is allowed and is turned off afterwards. However, you may find that in some situations, the overhead of turning the serial port on and off has too much of a performance impact. If this is the case, you can add a second parameter, ALWAYSON, to tell the Client to keep the serial port on all the time (after a download completes): USE_RS232_FOR_SCANNER = Y, ALWAYSON The USE_RS232_FOR_SCANNER keyword is valid for all terminals that support the serial port. Keyword: USE_TSR_FOR_KEYBOARD ----------------------------- This keyword was implemented in order for the Client to be able to differentiate between keyboard and scanner input on the PSC/Percon Falcon (same as LXE MX2) terminals. On these devices both USE_TSR_FOR_KEYBOARD and USE_TSR_FOR_SCANNER must be set to yes in order for the Client to be able to be able to tell scanner input from keyboard input. A TSR (Terminate-and-Stay-Resident interrupt handler), included with the DCConnect Client product files, interfaces with the device hardware using device-specific calls to get the keyboard and scanner input. Without the TSR, all scanner data goes to the keyboard buffer and the Client is not able to distinguish it from true keyboard input. The keyword is specified as follows: USE_TSR_FOR_KEYBOARD = Y If the USE_TSR_FOR_KEYBOARD keyword is being used, then you must be sure to to start the appropriate TSR before the Client is started (falc_tsr.exe for the Percon Falcon / LXE MX2). Failure to do so will result in the inability to use the keyboard or scanner while the Client is running. Keyword: USE_TSR_FOR_RS232 -------------------------- This keyword can be used for those DOS-based devices, such as those from Telxon, for which we provide a TSR (Terminate-and-Stay-Resident interrupt handler) to handle RS-232 functions. Without the TSR, the Client does not work with the serial port of these terminals, because the standard RS-232 functions used by the Client do not work with the non-standard RS-232 functions of the affected terminals. The keyword is specified as follows: USE_TSR_FOR_RS232 = Y If the USE_TSR_FOR_RS232 keyword is being used, then you must be sure to to start the appropriate TSR before the Client is started. For more information on using the serial port on terminals that require a TSR see: Serial Port Use on Symbol Spectrum 24 Terminals Serial Port Use on the Telxon Terminal This keyword is not valid for Antares terminals. Keyword: USE_TSR_FOR_SCANNER ---------------------------- This keyword can be used for those DOS-based devices, such as those from Telxon, for which we provide a TSR (Terminate-and-Stay-Resident interrupt handler) to handle scanning functions. For the Telxon PTC870IM and Symbol Spectrum 24 terminals, this TSR is required in order to use the scanner at all. For the other Telxon terminals, the TSR provides better scanning capabilities such as the ability to distinguish between scanner and keyboard input. Without the TSR, scanner input comes through the keyboard and because the Telxon terminals do not provide the ability to configure preamble and postamble characters, there is no way for the Client to tell the difference between keyboard and scanner input. The keyword is specified as follows: USE_TSR_FOR_SCANNER = Y If the USE_TSR_FOR_SCANNER keyword is being used, then you must be sure to to start the appropriate TSR (Telxon - TELX_TSR.EXE or T870_TSR.EXE, Symbol Spectrum 24 - S24_TSR.EXE) before the Client is started. The capabilities provided by the USE_TSR_FOR_SCANNER keyword are the same as those provided by the keyword SCAN_SENTINEL_CHARS that is available for terminals that support preamble and postamble characters. Please see the last 5 paragraphs of Keyword: SCAN_SENTINEL_CHARS for an explanation of these capabilities. This keyword is not valid for Antares terminals. Keyword: UV_POOL_SIZE --------------------- This keyword is new with version 2.00f of the Client and it defines how much memory is allocated for storing the contents of user variables. In the 2.00f version, the Client no longer allocates 128 bytes for each of the 100 user variables. Instead a pool of memory is allocated which is shared by all user variables and local variables that contain data. If all user variables are empty, then no space in the pool is in use - although it remains allocated. The pool can be set to any value from 1000 to 99999 bytes. The following example sets the user variable pool size to 5000 bytes: UV_POOL_SIZE = 5000 If this keyword is not specified, 10000 bytes are allocated for the user variable pool. Although the maximum allowed for this parameter is 99999 the practical maximum is likely to be much less, depending on the available RAM in the device. Memory allocated for the user variable pool competes with memory allocated for downloaded files. Therefore if the user variable pool is too large, all files to be downloaded may not fit. The Client keeps track of a couple of statistics about the user variable pool which can be viewed on the VIEW USER VAR diagonstic screen in the menus. In addition to the maximum, you can view the current amount of free space in the user variable pool and you can view the smallest amount that was free during the entire operation of the terminal - since last reboot. This last value helps you to determine how much of the pool is actually used and consequently let you know that the pool could be reduced in size if this value is large enough. If the user variable pool is too small, then at some point while running your transaction programs, you'll get the message "User variable pool is out of space." showing for a few seconds on the terminal screen and the transaction program will be aborted with the additional message: "9812: Download error - not enough memory available". The user variable pool is also used to store the 'stack' that keeps track of all levels of subroutines that have been entered as well as all levels of nested if and else statement and blocks that have been entered. Each level of if or block that is added to the stack only takes up 8 bytes. Each level of subroutine that is added to the stack takes up 17 bytes plus 8 bytes for every local variable and plus 4 bytes for every parameter. Keyword: VOLUME --------------- This keyword is currently only used on Windows CE devices where sound is produced by generating .wav files. The volume parameter is used during the generation of the .wav files to determine how loud the resulting sound will be. It is also referred to as the 'amplitude' for .wav file. The range of values for volume are 1-127 and if this keyword is not used, the default volume is 16. Note: that the actual volume can vary from device type to device type - and is also affecting by the sound/volume settings in the device configuration. If you find that the volume of the generated sounds is too soft or too loud, then you can try different values for the Volume keyword. Note that the .wav file(s) that are generated to produce sounds for different frequency and duration combinations are generated in the same folder in which the emulator.ini file is or the transaction log files are created. The DCConnect Client does not delete or recreate the .wav files if they already exist on startup. (This allows you to replace them with files of your choosing if you wish to do so.) But this also means that you must delete these files, if they exist, whenever you change the VOLUME parameter in EMULATOR.INI so that the .wav file(s) can be regenerated using the new volume value the next time the DCConnect Client is started. The keyword is specified as follows: VOLUME = 32 Keyboard Usage -------------- When using the Client, the keyboard of the device has restricted usage - similar to that of a 7524 terminal. The Client has two basic states in which the function of the keys may differ: - Idle mode is when a transaction program is not in progress. - Transaction mode is when a transaction program is in progress. When in the menus, the keys function in the same way as when in transaction mode. When in idle mode the following keys are active: A-Z = Used to start the transaction programs bound to F1 through F26 , or < = Used to start the transaction program bound to F27 . or > = Used to start the transaction program bound to F28 F1-F12 = Used to start the transaction programs bound to PF1 through PF12 Home = or ? = Bring up the configuration menus. Arrow keys = Used to scroll the view of the virtual screen if the display size is set to anything smaller than 20x40. The arrows move the 'view port' relative to the virtual screen. For example, pressing the up arrow will move you closer to row 1 if row 1 is not already displayed. When in the menus or in a transaction program the following keys are active: Arrow keys = Used to scroll the view of the virtual screen - just as in idle mode. Backspace = Delete data in an input field In some places in the menus it is used to cancel an operation Tab/Backtab = Used to move between options in the menus. Use in transaction programs to move from field to field when doing field navigation (NAV, INAV, ...) Enter = Used to complete an input field or accept the information on a menu screen. Esc = Cancel a transaction program End = Used in field navigation to accept the data in all input fields. Insert = Used to fill in an input field with spaces when in a transaction program Delete = Used to clear an input field when in a transaction program. F1-F12 = Function as PF1-PF12 in transactions in the following cases: - In an ONKEY command to conditionally pass control based on a key pressed. - Can also be used to fill alias string text into an input field if alias string text has been assigned to th PF Keys and if the input field was produced by a READ command which has the PF Keys selected as an input device. Home = or ? = Bring up the configuration menus (if not already in them) Space # $ % & * + . / 0-9, A-Z = These are the valid characters that can be typed into an entry field (the same set that 7524 terminals has available). In certain menu options where it might be desirable to enter other characters into a field, a method is provided by which the ASCII value of the desired character can be entered. PgDn,PgUp = Are available to the CFR in a transaction and can be used on the View Settings screen. Note: While many of the 3rd party terminals have all of the PC keys defined that are needed by the Client, some such as the Intelligent Instrumentation TimePoint have a more limited keyboard and thus may not be able to make full use of the Client functions. Android Keypad -------------- Certain Android devices, such as the Zebra WT6000 and TC8000 and the Honeywell D75e and CT50, have no physical keyboard and instead rely on using an on-screen Android or manufacturer-provided keyboard for manual data entry. But in some cases, that on-screen keyboard takes up a large percentage of the screen and/or the keys are relatively small, making it harder to type. For the WT6000, the default Android keyboard takes up the bottom half of the screen and even that can be difficult to type on reliably because of the size of the keys. Zebra provides an "Enterprise" keyboard which increases the key size but that in turn means the keyboard takes up a greater portion of the screen - 75% or more. Because of this and the fact that the content, size and position of the Android and manufacturer- provided keyboards cannot be customized, the DCConnect Client provides a way to create a custom keypad containing commonly used keys (typically 0-9, Enter, backspace, ...) that can be positioned off to one side of the screen and sized as needed in order to give the desired balance between key size and size of the screen content. This minimizes the need to bring up the larger Android or manufacturer-provided keyboard. Note: Some devices such as the WT6000 provide a couple of programmable buttons that could be set up to function as Enter, backspace or other needed keys. If programmable buttons are available, it is recommended that they be taken advantage of so as to minimize the number of keys that must be included on the keypad. The customizable keypad will be placed next to the screen content for the transaction programs; it will not overlap that. Devices usually have one dimension longer than the other; so it is usually best to define the keypad so that it is located where it takes more of the larger dimension than the shorter dimension. For example, if the width is wider than the height, the keypad should be set up on the left or right of the screen. But if the height is longer than the width, the keypad should be set up on the top or bottom of the screen. The keypad is defined by adding a series of KEYPAD_xxxx parameters to EMULATOR.INI: - KEYPAD_POSITION defines which edge of the screen it will be on: right, left, top or bottom and it defines what percent of the screen it should take up, extending from the defined edge. - KEYPAD_NUM_KEY_ROWS and KEYPAD_NUM_KEY_COLS define the number of rows and columns the keypad should have. A 5 row x 2 column arrangement of keys works well for the numeric keys on the WT6000 (assuming the Enter and Backspace keys are set up as 2 of the 3 programmable keys). - KEYPAD_NUM_KEYS defines the number of keys that should be created - in case the grid of keys should not be filled out. For example, the grid could be 5 x 2 but only 9 keys will be defined. - For each key, KEYPAD_KEY defines the label text and the ASCII or extended ASCII code that should be generated when the key is pressed. Note: Make sure KEYPAD_NUM_KEYS is set to the actual number of KEYPAD_KEY statements. Here is one example used to define the 10 numeric keys for a Zebra WT6000 with a keypad taking up the right 20% of the screen: KEYPAD_POSITION = RIGHT, 20 KEYPAD_NUM_KEY_ROWS = 5 KEYPAD_NUM_KEY_COLS = 2 KEYPAD_NUM_KEYS = 10 KEYPAD_KEY = 1, 49 KEYPAD_KEY = 2, 50 KEYPAD_KEY = 3, 51 KEYPAD_KEY = 4, 52 KEYPAD_KEY = 5, 53 KEYPAD_KEY = 6, 54 KEYPAD_KEY = 7, 55 KEYPAD_KEY = 8, 56 KEYPAD_KEY = 9, 57 KEYPAD_KEY = 0, 48 And here is a sample used to put a 6x2 keypad at the bottom of a Honeywell CT50, including the 10 numeric keys plus the Enter and Backspace keys. It takes up the bottom 20% of the screen: KEYPAD_POSITION = BOTTOM, 20 KEYPAD_NUM_KEY_ROWS = 2 KEYPAD_NUM_KEY_COLS = 6 KEYPAD_NUM_KEYS = 12 KEYPAD_KEY = 1, 49 KEYPAD_KEY = 2, 50 KEYPAD_KEY = 3, 51 KEYPAD_KEY = 4, 52 KEYPAD_KEY = 5, 53 KEYPAD_KEY = Ent, 13 KEYPAD_KEY = 6, 54 KEYPAD_KEY = 7, 55 KEYPAD_KEY = 8, 56 KEYPAD_KEY = 9, 57 KEYPAD_KEY = 0, 48 KEYPAD_KEY = BkSp, 08 There is another keyword, AUTO_SCROLL_ROW that can be used to make sure the current cursor position is visible when the Android / manufacturer-provided soft-keyboard is being shown and it is obscuring a large portion of the screen content. If using a keypad defined with the KEYPAD_xxxx parameters, the AUTO_SCROLL_ROW parameter would only be needed if all keys that the user might need to use cannot fit on the keypad; in this case the soft-keyboard will be needed to enter those other keys and that in turn may require auto-scrolling to be in effect if the soft-keyboard obscures too much of the screen content. Custom Idle Screen ------------------ Normally after the DCConnect Client is downloaded with the transaction programs and related files, the idle screen is shown based on the Idle Menu configuration that is configured on page 2 of the Associations tab in the Terminal Settings notebook in the DCConnect User Interface. However with version 2.10D and later of the DCConnect Client, there is a way to have a transaction program called rather than showing this idle menu. This gives the flexibility to draw a custom idle menu - one that can have dynamic information being updated and also can give you better control of the keys that may be pressed. To tell the Client that a transaction program should be run instead of showing the idle menu, change the first line of the Idle Menu to include the following: $$IdleProgram = nnn where 'nnn' is the number of the transaction program to be started - from 1 through 121. Spaces around the equal sign are optional. This program would be responsible for drawing the idle screen instead - just as you might do if you were using tiered menus. Use the ONKEY or ONSUB command to wait on user input and then branch to other transaction programs based on the key pressed. Since you have the responsibility for drawing the idle screen, you can update information that might change after other transaction programs are run. For example, you could show the name of who is currently logged on. Using the custom idle screen also solves the problem that arises when you have bound transaction programs to keys F1-F26 (A-Z) but you don't want the user to be able to start those programs by pressing the A - Z keys directly. Instead you want to control access to those programs through a series of tiered menus where the user must pick an option from 1-9 or another selected range of keys. The ONKEY / ONSUB commands will handle that restriction. Communications Protocol, Internal File Formats and Other Technical Information ------------------------------------------------------------------------ This document does not describe the protocols, file formats or other technical information about the interfaces to the DCConnect Client. Because the source code that is used to build the Client is the same as is used to build the 7524 Extended Terminal Services flash modules, you can consult the: 7524 Extended Terminal Services / DCConnect Client Technical Reference for technical information about the DCConnect Client. CFR Headers, Libraries and Samples ---------------------------------- The programming tools (libraries, header files, and samples) required to create CFRs for use with the DCConnect Client are included in the CFRTOOLS directory where the Client is installed. You'll notice that the names of many the files in this directory refer to the 7524 terminal. This is because DOS flavors of the DCConnect Client and the 7524 terminal share the same source code and thus can use the same CFRs. Windows flavors of the Client can use the same CFR source code as well; however that source must be compiled as a Windows DLL in order to be called by the Client after download. For detailed information about creating CFRs, refer to the: 7524 Extended Terminal Services / DCConnect Client Technical Reference. This reference also describes all of the APIs available. In the CFRTOOLS directory where the Client is installed there are serveral zip files containing CFR related tools and samples: 1) CFRUTL24.ZIP (formerly called CFR24LIB.ZIP) ------------ Note: This package is no longer included as a .ZIP file in the product. Instead its contents are included, already expanded, into the CFRTOOLS directory (e.g. cfrutl24.h, ibmc2\cfrutl24.lib, ...) See CFRTOOLS\CFRUTL24.RME for a complete list of files. This package contains a set of useful CFR functions that can be called by your CFRs. The package includes the source, make files and libraries for all flavors of the DCConnect Client - including Windows flavors. Refer to CFRUTL24.RME and CFRUTL24.TXT for more details about this package. Both of these files are included in CFRUTL24.ZIP. 2) CFRSMP24.ZIP (formerly part of CFR24.ZIP) ------------ This package contains a complete sample CFR, including useful routines that can be used in your transaction program. The package includes the source, make files and CFR executables for all flavors of the DCConnect Client - including Windows flavors. Refer to CFRSMP24.RME and CFRSMP24.TXT for more details about this package. Both of these files are included in CFRSMP24.ZIP. 3) CFRPAN24.ZIP (formerly part of CFR24.ZIP) ------------ This package contains the Input panel CFR, which is a CFR that provides routines for making a more sophisticated user interface on the terminal - including pop-ups, pre-filled field, ... The package includes the source, make files and CFR executables for all flavors of the DCConnect Client - including Windows flavors. Refer to CFRPAN24.RME and CFRPAN24.TXT for more details about this package. Both of these files are included in CFRPAN24.ZIP. For more information about building CFRs for use on 32-bit Windows systems see the following section about "Compiling and Linking a CFR" as well as Building CFRs for Windows 95/98/Me/NT/2000/XP/7/Server based Terminals. For more information about building CFRs for use on Windows CE terminals see the following section about "Compiling and Linking a CFR" as well as Building CFRs for Windows CE Devices. Compiling and Linking a CFR --------------------------- The CFR writer need only write a function with a "main(function, *paramlist)" entry point, compile with the appropriate "include" files, and link with the apporopriate provided CFR API library (and any other libraries required) to create a CFR program file. Compiling and linking a mode 1 or mode 2 CFR is accomplished in the same manner. Note: A mode 2 CFR is one that takes control of the terminal, never returning after it is called with function 0 (terminal being put into service) or function 2 (terminal was just powered on - 7526/7527/7524 only). A mode 1 CFR does return from function 0 and function 2 and it is called by a transaction program using the CCFR (;M) command. See the 7524 Extended Terminal Services / DCConnect Client Technical Reference for more information. There is a CFR API library provided with the DCConnect Client product for each of the supported 'C' compilers. The Custom Function Routine libraries contain: o (DOS only) a special startup module to link with the CFR which provides for parameter passing, CFR initialization, and returning control to the Client. The CFR startup module substitutes for the normal compiler start up module that is linked with "C" language code. For this reason, you must arrange for the Client CFR API library to be linked first before any other standard "C" library file which may include a suitable object module for resolving the link. o Object modules to link with the CFR so that it can make calls to the DCConnect Client application program interface (API). Examples of this API include KbdReadAscii, VioWrtCharStr and IdleManager. When writing a CFR, the source will need to "include" the file, CFRAPI24.H, which contains DCConnect Client API function prototypes, defined constants, and return code defines. Also provided is CFRWIN32.H which is required when building 32-bit Windows and Windows CE CFR DLLs. However, because CFRWIN32.H is automatically included by CFRAPI24.H when compiling for a Windows or Windows CE platform, your CFR source need only include CFRAPI24.H. If you will be working with different data collection terminals that use different operating systems (DOS, Windows CE, Windows NT/2000/XP/7/Server, ...) you will probably need to build more than one 'flavor' of the same CFR. The sample packages (CFRSMP24.ZIP and CFRPAN24.ZIP), described above, are good examples of building many flavors of CFR executables (.EXE and .DLL) from the same source. While the source is in one directory, the resulting objects and CFR .EXE / .DLL files for each flavor are created in subdirectories with names like IBMC2, BORLAND, WIN32, IMEC700, LANPTCE, ... This structure is also used for the CFR API header files and libraries: CFRAPI24.H CFRWIN32.H IBMC2\CFRAPI24.LIB BORLAND\CFRAPI24.LIB WIN32\CFRAPI32.LIB IMEC700\CFRAPICE.LIB LANPTCE\CFRAPICE.LIB ... and it is used for the contents of the utility library package (CFRUTL24.ZIP) which is included in the CFRTOOLS directory, already expanded, where the DCConnect Client files are installed: CFRUTL24.H GETREC24.C ... IBMC2\CFRUTL24.LIB BORLAND\CFRUTL24.LIB WIN32\CFRUTL32.LIB IMEC700\CFRUTLCE.LIB LANPTCE\CFRUTLCE.LIB ... Using the Environment Variable CFRTOOLS and Others When Building CFRs --------------------------------------------------------------------- If API and utility header files and libraries are expanded into the same directory (e.g. C:\CFRTOOLS) and the environment variable: CFRTOOLS is set to point to that directory. Use the System settings from the Control Panel to set this environment variable (it should probably go into the System section - instead of User - so that it is accessible to all users). Then the make files, batch and compiler project files used to build the various flavors of a CFR can use this environment variable to locate the header and library files. In fact, if you inspect the batch files, make files and project files in the CFRSMP24.EXE and CFRPAN24.EXE packages, you'll see the use of the CFRTOOLS enviroment variable. There are a couple of other environment variables that the Windows and/or Windows CE batch files, make files and project files use: - WCEROOT - Set to the root directory where the Microsoft eMbedded Visual Toolkit is installed. For example: G:\MSEmbedded30. If this toolkit is installed, this environment variable should already be set properly. If it is not defined, then you can define it using the System icon in the Control Panel folder. This variable is used in several of the provided batch files (e.g. nmi700.bat) in order to locate compiler batch files (e.g. evc\wce300\bin\wcearm.bat) that set up the appropriate compiler enviroment for the different flavors of Windows CE. - WCE40ROOT - Set to the root directory where the Microsoft eMbedded Visual C++ 4.0 toolkit is installed. For example: G:\MSEmbedded40. This environment variable is not set up automatically. In fact emBedded Visual C++ 4.0 continues to use WCEROOT just like it did in version 3.0. But if you have both versions installed, set WCEROOT to point to the root directory for 3.0 and set WCE40ROOT to point to the root directory for 4.0. This variable is used in several of the provided batch files (e.g. nmck30.bat, nms90xx.bat) in order to locate compiler batch files (e.g. evc\wce300\bin\wcearm.bat) that set up the appropriate compiler enviroment for the different flavors of Windows CE. - OSVERSION - Specifies which version of Windows CE (e.g. WCE300) is to be assumed when compiling a particular flavor of an application. This value is set within the provided batch files (e.g. nmi700.bat) and is used by the compiler batch files (e.g. evc\wce300\bin\wcearm.bat). You should not need to change this value or set it up in the System settings for Windows. - PLATFORM - Specifies which platform (e.g. ms pocket pc) is to be assumed when compiling a particular flavor of an application. This variable is set and used just like OSVERSION, described above. You should not need to change this value or set it up in the System settings for Windows. - MSVC32DIR - Used only when building Windows 95/98/Me/NT/2000/XP/7/Server CFRs; it is not needed when building Windows CE CFRs. MSVC32DIR is referenced in NMWIN2.BAT in order to locate the Microsoft Visual C++ Compiler environment batch file, VCVARS32.BAT. If the path to VCVARS32.BAT is already set up in your PATH statement, then you could change the 3 batch files to simply call: call vcvars32 instead of: call %MSVC32DIR%\bin\vcvars32 and then you would not have to set up MSVC32DIR. But if vcvars32.bat is not in the path, then, like CFRTOOLS, you must set up MSVC32DIR yourself (using the System settings in the Control Panel). MSVC32DIR should point to the parent directory of the \BIN and \INCLUDE subdirectories of the path into which the Microsoft Visual C++ Compiler was installed. Refer to the following sections for information about how to use the various supported compilers when building CFRs: o Using IBM C/2 Version 1.10 to Build CFRs for DOS-based Terminals o Using Borland Turbo C++ 3.0 for DOS to Build CFRs for DOS-based Terminals o Using Microsoft Visual C++ Version 6.0 to Build CFRs for Windows 95/98/Me/NT/2000/XP/7/Server o Using Microsoft eMbedded Visual Toolkits to Build CFRs for Windows CE Devices Using IBM C/2 Version 1.10 to Build CFRs for DOS-based Terminals ---------------------------------------------------------------- The following command line options are recommended when running the compiler: cl -c -nologo -Fl -ALw -FPa -Zpe -W3 -Ox -G1s -l[path]cfr.h mycfr.c -c suppress automatic linking -nologo suppress logo and copyright in output stream -Fl create object file -ALw large model, separate stack segment, does not load DS at each module entry point -FPa use alternate math library -Zpe pack structures, enables C language extensions -W3 use warning level 3 for warning/error messages -Ox maximum optimization -G1s 186 instruction set, no stack checking (to make compatible with more levels) -l[path]cfr.h location of include file, path optional mycfr.c CFR source file The following command line options are recommended when running the linker: link mycfr1+mycfr2, mycfr.exe, mycfr.map, cfrapi24.lib llibcar.lib /DO /NOD /NOI; mycfr1+mycfr2 list of object modules mycfr.exe output executable file name mycfr.map output map file name cfrapi24.lib Client CFR API library, required - supplies CFR start up code as a minimum, plus modules for CFR APIs to interface with Client. Be sure to use the IBM C/2 flavor of this library. llibcar.lib Large model, combined, alternate math library for REAL MODE of the microprocessor (do not use PROTECT MODE libraries) /NOI don't ignore upper and lower case /DO arrange segments in DOS fashion /NOD no default library usage; link only with libraries specified on link command line Note: You should link with a REAL MODE "C" library, not with a PROTECTED MODE library. Also you must ensure that you are linking with the IBM C/2 flavor of the CFRAPI24.LIB file (it's in the CFRTOOLS\IBMC2 directory where the Client is installed) and that it is in the current directory or in the path specified in the SET LIB= statement of your environment. It is also important to compile and link specifying the alternate math library instead of the emulation or 8087 math libararies. Using Borland Turbo C++ 3.0 for DOS to Build CFRs for DOS-based Terminals ------------------------------------------------------------------------- The following command line options are recommended when running the compiler: tcc -c -ml mycfr.c -c suppress automatic linking -ml Compile using large memory model mycfr.c CFR source file The following command line options are recommended when running the linker: tlink mycfr1 mycfr2, mycfr.exe, mycfr.map, cfrapi24.lib cl.lib mycfr1 mycfr2 list of object modules mycfr.exe output executable file name mycfr.map output map file name cfrapi24.lib Client CFR API library, required - supplies CFR start up code as a minimum, plus modules for CFR APIs to interface with Client Be sure to use the Borland flavor of this library. cl.lib Large model standard real mode library Note: Be sure to link with the Borland Turbo C++ flavor of the CFRAPI24.LIB library (it's in the CFRTOOLS\BORLAND directory where the Client is installed). Also be sure it is the first library in the link list to ensure that the correct CFR linkage and parameter passing routines are executed during CFR calls. Using Microsoft Visual C++ Version 6.0 to Build CFRs for Windows 95/98/Me/NT/2000/XP/7/Server --------------------------------------------------------------------------------------------- While running the DCConnect Client under Windows 95/98/Me/NT/2000/XP/7/Server, CFRs are required to be built as Windows DLLs. CFRs built as 16-bit DOS executables CAN NOT BE DOWNLOADED to a Client when it is running under one of the Windows 32-bit operating systems. Also CFRs built for Windows CE will not run on Windows 95/98/Me/NT/2000/XP/7/Server. When building a CFR DLL for use with the DCConnect Client running on Windows 95/98/Me/NT/2000/XP/7/Server, the only required tool is the standard Microsoft Visual C++ 6.0 product. For information about using the Microsoft Visual C++ tool for building DLL CFRs for this Client refer to Building CFRs for Windows 95/98/Me/NT/2000/XP/7/Server based Terminals. Using Microsoft eMbedded Visual Toolkits to Build CFRs for Windows CE Devices ----------------------------------------------------------------------------- While running the DCConnect Client on a Windows CE device, CFRs are required to be built as Windows CE DLLs. CFRs built as 16-bit DOS executables CAN NOT BE DOWNLOADED to a Client when it is running on a Windows CE device. Even CFRs built to run on Windows 95/98/Me/NT/2000/XP/7/Server cannot run on a Windows CE device. Furthermore, each different model of Windows CE device that is used may require the use of a different flavor CFR DLL to be built. This is because Windows CE runs on a number of different processors (e.g. X86, Strong ARM, MIPS, SH3, ...) and there are even several different versions of Windows CE in use by different devices. Here are some examples: - The Intermec 600 terminal has an X86 processor and runs Windows CE 2.12 - The Intelligent Instrumentation LanPoint CE terminal also has an X86 processor but it runs Windows CE 3.0. - The Intermec 700 terminal has a Strong ARM processor and runs Windows CE 3.0 - The Intermec CK30 terminal has an Intel XScale processor and runs Windows CE .NET In order for two Windows CE devices to be able to use the same CFR DLL, they both have to have the same processor and they both have to be running the same version of Windows CE. Although it has not been the case to this point, some day there might even be an issue regarding what 'environment' a particular device contains. Different 'environments' include "Pocket PC", "Pocket PC 2002", "Handheld/PC", "Palm-size PC", ... A Windows CE 'environment' specifies not only a particular version of Windows CE but also certain screen dimensions and a certain set of preloaded applications. Fortunately, when building a CFR today, these other issues do not come into play; only the processor type and Windows CE version matter. The Microsoft eMbedded Visual Toolkits provide a build environment that allows you to have a single source file and generate from it all of the different flavors of an application based on different Windows CE versions and different processors. Note: The same source can also be used to build your DOS and 32-bit Windows flavors of the CFR. Depending on the version of Windows CE that is running on the device you will need one or both of the two versions of the toolkit. Version 3.0 of the Microsoft eMbedded Visual Toolkit is used for building CFRs for devices that run Windows CE 3.x and earlier (e.g. Intermec 700, Symbol PDT81xx, Intelligent Instrumentation LanPoint CE). However, for devices running Windows CE .NET (4.x), version 4.0 of the Microsoft eMbedded C++ compiler is needed. The Intermec CK30, Intermec CV60 and Symbol MC90xx terminals are in this category. Depending on what devices you will be using, you will have to install one or more device-specific Software Development Kits (SDKs) after installing the appropriate MS eMbedded Visual Toolkit(s). During the installation of the MS eMbedded Visual Toolkit 3.0 you have the option to install several SDKs, including: - MS Windows Platform SDK for Pocket PC - Windows CE Platform SDK (H/PC Pro) - Windows CE Platform SDK (Palm-size PC) Installing these will be all that is needed to support: - Intermec 700 - Intermec 6651 - Symbol PDT 81xx - MS Pocket PC Emulation Environment all of which use the Pocket PC environment. (The 'Emulation Environment' listed above allows you to simulate a Windows CE device on the same PC that the MS eMbedded Visual Toolkit is installed.) The following devices have their own toolkit that must be installed separately after the MS eMbedded Visual Toolkit(s) are installed: - Intermec 5020 (if running Windows CE 2.11) - Intermec 600 - Intelligent Instrumentation LanPoint CE - Intermec CK30 - Intermec CV60 Note: Some devices such as the Symbol PDT81xx and Symbol MC9000 have toolkits (SDKs) but the installation of these SDKs is not necessary for building CFRs for those devices. Once all the necessary toolkits are installed you can start to set up a workspace and projects for building the various flavors of the Windows CE CFR DLLs that will be needed. For information about using the MS eMbedded Visual Toolkit for building Windows CE DLL CFRs for the Client refer to Building CFRs for Windows CE Devices. Latest Fixes and Enhancements ----------------------------- For a listing of the latest fixes and enhancements that have been added to the Client, see the README file that is included in the product or in the latest fix pack. The latest fix pack and its readme are available from the ERPBridge/Data Collection website: http://www.ibm.com/software/data/dcconnect Follow the 'Product Downloads' link and then 'DCConnect Client'. Using the DCConnect Client on Intelligent Instrumentation LanPoint/FactoryPoint/TimePoint Terminals --------------------------------------------------------------------------------------------------- This section describes what additional configuration must be done when using the DCConnect Client on one of the following Intelligent Instrumentation terminals: LanPoint, FactoryPoint or TimePoint. Instructions for using the Intelligent Instrumentation LanPoint Pro terminal are below in Using the DCConnect Client with the Intelligent Instrumentation LanPoint Pro Terminal. Note: The Intelligent Instrumentation LanPoint, FactoryPoint and TimePoint terminals are equivalent to the following set of terminals from Symbol: FMT1020, FMT1040 and FMT1060 terminals respectively. Previous versions of this documentation primarily used the Symbol names of these terminals. However, Symbol no longer resells the Intelligent Instrumentation terminals. So the documentation has been changed to use the Intelligent Instrumentation names. While the LanPoint, FactoryPoint and TimePoint terminals look very different they all in fact have the same architecture and even the same screen dimensions. Because of this they are all treated the same by the DCConnect Client. This documentation will refer to these terminals collectively as the xxxPoint terminals for simplicity. For more detailed information about using LanPoint/FactoryPoint/Timepoint terminals please refer to the following sections: - Hardware and Software Requirements for LanPoint/FactoryPoint/TimePoint Terminals - Drive Arrangement on LanPoint/FactoryPoint/TimePoint Terminals - Transferring Files to a LanPoint/FactoryPoint/TimePoint Terminal - LanPoint/FactoryPoint/TimePoint CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - LanPoint/FactoryPoint/TimePoint Bar Code Configuration - Using the BIOS Setup Program on a LanPoint/FactoryPoint/TimePoint - Serial Port Use on a LanPoint/FactoryPoint/TimePoint Terminal - Digital I/O Use on a LanPoint/FactoryPoint/TimePoint Terminal - Starting the Client on a LanPoint/FactoryPoint/TimePoint Terminal - Setting Up a LanPoint/FactoryPoint/TimePoint Terminal from Scratch Hardware and Software Requirements for LanPoint/FactoryPoint/TimePoint Terminals -------------------------------------------------------------------------------- In order to use the xxxPoint terminals, you must also get either the 1MB or 2MB PCMCIA SRAM card. This not only includes DOS and some network and other manufacturer-provided drivers but it also provides non-volatile storage for transactions that are generated by the Client. If not attaching the terminal to the DCConnect PC via the serial port, the 'PC/TCP Network Kernel for DOS' from FTP Software is required and it must be purchased from FTP Software separately. Drive Arrangement on LanPoint/FactoryPoint/TimePoint Terminals -------------------------------------------------------------- The xxxPoint terminals have a single A: drive which is the PCMCIA SRAM card. All files must be copied to this card. Transferring Files to an LanPoint/FactoryPoint/TimePoint Terminal ----------------------------------------------------------------- The xxxPoint terminals can be booted from a PCMCIA SRAM card that is preloaded with DOS and low-level network drivers. Files can be copied to this SRAM card from any PC or laptop that has support for PCMCIA SRAM cards. The xxxPoint terminal must be configured to boot from the local drive. See the next section for more details. The SRAM card is referred to as drive A: in the xxxPoint terminals. LanPoint/FactoryPoint/TimePoint CONFIG.SYS, AUTOEXEC.BAT and Network Configuration ---------------------------------------------------------------------------------- In the discussion that follows, references are made to various files that come from the diskettes for FTP Software's product, PC/TCP Network Kernel for DOS. For information about where to find these files and how to copy them, refer to Installation Hints for the FTP Software TCP/IP Stack. Following is the CONFIG.SYS file that was used during our testing: *1 device=a:\dos\lphimem.sys *2 device=a:\protman.sys /i:a:\ *3 device=a:\dis_pkt.gup *4 device=a:\lp_ndis.sys dos=high,umb files=20 buffers=5 stacks=9,256 lastdrive=f A few notes about the above: 1) LPHIMEM.SYS is the extended memory manager specific to these terminals 2) PROTMAN.SYS is one of 3 network drivers. This driver is provided by Intelligent Instrumentation in the directory A:\TCPIP\NDIS of the Network diskette. The /i parameter gives the drive on which to find PROTOCOL.INI, the network configuration file. Our PROTOCOL.INI contained the following: ; this is for LANpoint, none of these items should be changed [LP_NIF] DRIVERNAME = LPND$$$$ MAXTRANSMITS = 10 IOADDRESS = 0x300 INTERRUPT = 5 RAMSIZE(K) = 32 IOWORDSIZE = 8 ;****************; ; Protocol ; ;****************; [PKTDRV] DRIVERNAME=PKTDRV$ BINDINGS=LP_NIF INTVEC=0x66 3) DIS_PKT.GUP is the second network driver, a packet driver. It comes from diskette 3 of FTP Software's PC/TCP product. 4) LP_NDIS.SYS is the third network driver, the NDIS driver for these terminals. This driver comes from Intelligent Instrumentation in the directory A:\TCPIP\NDIS of the Network diskette. Following is the AUTOEXEC.BAT file that was used during our testing: @echo off *1 netbind *2 set pctcp=a:\lptcp.ini path=a:\;a:\dos; prompt $p$g *3 ethdrv *4 lpmode com2:96,n,8,1 *5 doskey REM Set up user-defined key 1 to be the Home key *6 echo S1D\e0\47>com2 echo S1U\e0\c7>com2 REM Set up user-defined key 2 to be the Esc key echo S2D\01>com2 echo S2U\81>com2 REM Turn off keyboard click echo SKC0>com2 *7 REM Uncomment the following two lines to specify the 'preamble' and REM 'postamble' characters with which to enclose all bar code input. In REM this example, the preamble is the '[' character and ']' is the postamble. REM echo SPP[>COM2 REM echo SPS]>COM2 REM --- or --- REM Uncomment the following to add carriage return to all bar code input REM echo SEP1>com2 *8 REM Uncomment the following two lines to set up user-defined key 3 to be REM an X key (necessary only on the TimePoint/FMT 1060). REM echo S3D\2d>com2 REM echo S3U\ad>com2 REM Start the Client *9 call em A few notes about the above: 1) NETBIND.EXE establishes a connection with the network. This program is provided by Intelligent Instrumentation in the directory A:\TCPIP\NDIS of the Network diskette. 2) The environment variable 'pctcp' tells ETHDRV.EXE what configuration file to use for network parameters. 3) ETHDRV.EXE is the high-level ethernet driver. It is part of FTP Software's PCTCP product. ETHDRV.EXE uses the setting of the environment variable PCTCP to determine what .INI file to use. LPTCP.INI must be customized for each terminal on the network. All should be the same except for the IP address. Below are selected sections of the LPTCP.INI that we used during testing: [pctcp general] host-name = lanpoint ; Unique for each terminal domain = bocaraton.ibm.com ; Change this for your site ... ; Other items aren't covered here [pctcp kernel] interface = ifcust 0 ... ; Other items aren't covered here [pctcp addresses] domain-name-server = 99.99.99.1 ; Change this for your site [pctcp ifcust 0] ip-address = 99.99.99.7 ; Unique for each terminal subnet-mask = 255.255.240.0 ; Change this for your site For information about the possible need for entries for authentication-key and serial-number, see Authentication Key and Serial Number Entries in the .INI file. 4) LPMODE defines the parameters for the internal COM2 port. The xxxPoint terminals use this port to issue commands for controlling the bar code processor, digital I/O, auxillary port and other hardware control commands. Refer to the terminal manuals for more information. 5) DOSKEY is run to make it easier to retrieve commands through the use of the arrow keys. 6) Several commands are sent via COM2 to define two of the user defined keys, and to turn off the keyboard click. NOTE it is VERY IMPORTANT that no space exist before the >COM2 and after the characters for the command being issued. 7) These commented out lines are for defining preamble/postamble (prefix/suffix) characters to be added to all scanned bar codes. If the SCAN_SENTINEL_CHARS keyword is to be used in the EMULATOR.INI, then the SPP and SPS commands must be used to set up characters to match those that are defined with the SCAN_SENTINEL_CHARS keyword. Otherwise, the SEP1 command should be used to force the carriage return character to be added to all scanned bar codes. 8) The TimePoint/FMT 1060 has a limited keyboard and does not have the ? key which is one way to get into the menus. The other way to get into the menus is using the Home key which is defined as User Defined Key 1 in the AUTOEXEC.BAT above. In order to end the Client, the X key must be pressed from the Main Menu. Therefore a another User Defined Key should be set up in the AUTOEXEC.BAT. The example shows how to set up user- defined key 3 to be X. 9) The call to EM.BAT is the one that automatically starts the Client. LanPoint/FactoryPoint/TimePoint Bar Code Configuration ------------------------------------------------------ When using any of the xxxPoint terminals, configuration of the bar codes is done using commands sent to COM2. This is described in the terminal manuals. Each bar code symbology can be enabled or disabled using these commands. By default, all bar codes types are active. If desired, additional echo commands could be added to AUTOEXEC.BAT to disable bar code types that should not be active. The preamble and postamble characters for all bar codes must also be set up using commands to COM2. See the discussion of the AUTOEXEC.BAT above for examples of how this is done. Using the BIOS Setup Program on an LanPoint/FactoryPoint/TimePoint ------------------------------------------------------------------ When an xxxPoint is first powered on, you have a few seconds to press the Enter key to activate the BIOS Setup program. During our testing, we used the BIOS Setup program to configure the following options: *1 - Memory Option: A (640K Conv, 256K Ext) *2 - PCMCIA Slot: Enabled *3 - Full Screen Display: CGA *4 - Display Tracking: Enable *5 - Display Tracker Mode: 2x40 CF - Display Slowdown: Disable - Remove CGA Snow: Disable - Cursor Source: BIOS - Shift State Tracking: On - Cursor: On - Cursor Style: Line - Enter Setup: Enable *6 - BOOT ROM Type: TCP/IP - TCP/IP BOOT Option: BOOTP - TCP/IP BOOT Protocol: Ethernet_II *7 - BOOT Priority: Local A few notes about the above settings: 1) Memory option B is used for 736K Conventional/128K Extended. If you are running out of memory for the files being downloaded, it be useful to switch to memory option B. We have not tested that so we don't know if there are problems running that way. 2) The PCMCIA slot must be enabled to use the SRAM card. 3) We attached a CGA display during testing but that probably isn't necessary in a customer environment. (Besides you may have trouble finding a CGA display!) 4) Display Tracking must be enabled to show the most appropriate portion of the virtual screen on the 2x40 display. 5) The Display Tracker Mode must be 2x40 CF (Cursor Following) in order to show the last two most recently changed lines from the virtual screen. 6) The BOOT ROM type must be TCP/IP in order to communicate properly on the ethernet. Likewise the TCP/IP Boot Option must be BOOTP and the TCP/IP boot protocol must be Ethernet_II 7) Boot Priority must be LOCAL in order for the terminal to boot from the SRAM card. Serial Port Use on the LanPoint/FactoryPoint/TimePoint Terminal --------------------------------------------------------------- The serial port on the xxxPoint terminals can be used by the Client to communicate with devices such as a serial printer or scale. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of over ethernet. Digital I/O Use on the LanPoint/FactoryPoint/TimePoint Terminal --------------------------------------------------------------- While the xxxPoint terminals have digital I/O ports, the DCConnect Client does not currently support access to those ports from transaction programs or CFRs. Starting the Client on a LanPoint/FactoryPoint/TimePoint Terminal ----------------------------------------------------------------- Since the xxxPoint has only a single drive, the Client and the file ETSCHECK.LIC should be copied to that drive along with any configuration file(s). If desired, all of these files could be copied to a subdirectory instead - but they must all be in the same directory. Regardless of the model of xxxPoint terminal that is being used, any one the following 'device' command line parameter must be used when starting the Client: -dLANPOINT -dFACTORYPOINT -dTIMEPOINT -dFMT10x0 For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a LanPoint/FactoryPoint/TimePoint Terminal from Scratch ------------------------------------------------------------------ This section describes suggested steps to take an out-of-the-box xxxPoint terminal and set it up so that the Client can run on it. The instructions below assume the use of an SRAM card. Our BIOS level was 3.01. The SRAM card as received from Intelligent Instrumentation contains the following files: A:\1.BAT A:\VLM\AUTO.VLM A:\VLM\REDIR.VLM A:\2.BAT A:\VLM\BIND.VLM A:\VLM\RSA.VLM A:\AUTOEXEC.BAT A:\VLM\CONN.VLM A:\VLM\SECURITY.VLM A:\CONFIG.SYS A:\VLM\FIO.VLM A:\VLM\TRAN.VLM A:\VLM.BAT A:\VLM\GENERAL.VLM A:\VLM\VLM.EXE A:\VLM\IPXNCP.VLM A:\DOS\DOSKEY.COM A:\VLM\IPXODI.COM A:\DEMO\ACONTROL.DAT A:\DOS\LPHIMEM.SYS A:\VLM\LPNICE.COM A:\DEMO\TIMEDEMO.EXE A:\DOS\LPMODE.COM A:\VLM\LSL.COM A:\DEMO\TIMELOG.DAT A:\DOS\TED.COM A:\VLM\NDS.VLM A:\VLM\NET.CFG A:\ODI\IPXODI.COM A:\VLM\NETX.EXE A:\ODI\LPNICE.COM A:\VLM\NETX.VLM A:\ODI\LSL.COM A:\VLM\NWP.VLM A:\ODI\NET.CFG A:\VLM\PNW.VLM A:\ODI\NETX.EXE A:\VLM\PRINT.VLM 1) Before doing anything, copy the original contents of the SRAM card to a safe place. For example, if the backup directory will be called c:\lanptorg and the SRAM card is drive F: c: md \lanptorg xcopy f:\*.* c:\lanptorg /s 2) As shipped the SRAM card does not leave enough space for the additional files that must be copied on for the Client. So to make more space, the following files can be deleted from the SRAM card: 1.BAT 2.BAT VLM.BAT DOS\TED.COM all files in the ODI directory all files in the VLM directory all files in the DEMO directory The empty directories can then be removed. 3) Now create a special directory on your PC for building the set of files that will end up on the SRAM card. This will allow you to quickly recreate the card should anything happen to its contents. Start by copying all files from the SRAM card to this directory. For example: c: md \lanptsrm xcopy f:\*.* c:\lanptsrm /s The above example assumes the PC sees the SRAM card as drive F: and the directory for the set of SRAM card files will be c:\lanptsrm 4) The default AUTOEXEC.BAT contains the following: path=a:\;a:\dos;a:\demo;a:\odi prompt $p$g lpmode com2:96,n,8,1 Change it to look like the one shown in the sample above in the section LanPoint/FactoryPoint/TimePoint CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. If the serial flavor of the Client is to be used instead of the TCP/IP flavor, then do not include the following lines: netbind set pctcp=a:\lptcp.ini ethdrv Also be sure to set up the preamble and postamble characters based on whether or not the SCAN_SENTINEL_CHARS command will be used in EMULATOR.INI. 5) The default CONFIG.SYS contains the following: device=a:\dos\lphimem.sys dos=high,umb files=20 buffers=5 rem lastdrive=z Change it to look like the one shown in the sample above in the section LanPoint/FactoryPoint/TimePoint CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. If the serial flavor of the Client is to be used instead of the TCP/IP flavor, then do not include the following lines: device=a:\protman.sys /i:a:\ device=a:\dis_pkt.gup device=a:\lp_ndis.sys 6) If you are running the serial flavor of the Client skip this and the next 2 steps. Otherwise copy the following files from the "Network Drivers and Utilities" companion diskette (from Intelligent Instrumentation): a:\tcpip\ndis\protocol.ini a:\tcpip\ndis\lp_ndis.sys a:\tcpip\ndis\lptcp.ini a:\tcpip\ndis\netbind.exe a:\tcpip\ndis\protman.sys 7) We did not have to change the PROTOCOL.INI from its default values (shown above). However, several changes are needed in the default LPTCP.INI. Change it to look like the sample shown above in the section LanPoint/FactoryPoint/TimePoint CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. 8) The following files come from diskettes for FTP Software's PCTCP Network Kernel for DOS: ethdrv.exe dis_pkt.gup For more information about how to copy these files from the PCTCP product diskettes to the directory for SRAM card files, refer the the section Installation Hints for the FTP Software TCP/IP Stack. 9) Now copy the following files from where the Client is installed to the directory for the SRAM card files: ETSCHECK.LIC If using the serial flavor of the Client: SERIAL\ETSPB.EXE If using the Client along with the FTP Software TCP/IP stack: TCP_FTP\ETSPT.EXE 10) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you decide you need this file, create it in the directory for the SRAM card files. 11) The last Client specific file to create is EM.BAT. Remember that in step 4 above AUTOEXEC.BAT was changed to call EM.BAT at the end. This file will have different contents depending on what flavor of the Client you are running and what device you are using. For all flavors, you should start with the following two lines: a: cd \ to make sure the Client is running from the right drive and directory. If you are running the serial flavor of the Client, then add a line to EM.BAT that is similar to: etspb -aB -b19200 -dLANPOINT Change the -a (address) and -b (baud rate) parameters as appropriate for your configuration. You could also use -dFACTORYPOINT, -dTIMEPOINT or -dFMT10x0 instead of -dLANPOINT. If you are running the TCP/IP flavor of the Client, then instead add a line to EM.BAT that is similar to: etspt -dLANPOINT -h1.2.3.4,7500 Change the -h (host PC) parameters as appropriate for your configuration. You could also use -dFACTORYPOINT, -dTIMEPOINT or -dFMT10x0 instead of -dLANPOINT. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add a call to clear the screen: cls This is sometimes needed to restore the display to its original state after you exit the Client. 12) These are all of the files that can be set up from the PC. So at this time you can copy all of the files from your directory for SRAM card files to the actual SRAM card. Once all files are copied, put the SRAM card into the xxxPoint terminal and get ready to start it up. 13) When you start up the terminal for the first time, press Enter to get into the BIOS setup and make sure the parameters are set up as described above in Using the BIOS Setup Program on a LanPoint/FactoryPoint/TimePoint. Once that is done and saved, let the terminal come up and make sure everything starts up properly. Using the DCConnect Client on Intelligent Instrumentation LanPoint Pro Terminals -------------------------------------------------------------------------------- This section describes what additional configuration must be done when using the DCConnect Client on the Intelligent Instrumentation LanPoint Pro terminal. Instructions for using the Client on the Intelligent Instrumentation LanPoint, Factory Point and Time Point terminals can be found above in Using the DCConnect Client with the Intelligent Instrumentation LanPoint/FactoryPoint/TimePoint Terminals. Note: The Intelligent Instrumentation LanPoint Pro terminal is equivalent to the FMT3000 terminal from Symbol. Previous versions of this documentation primarily used the Symbol names of this terminal. However, Symbol no longer resells the Intelligent Instrumentation terminals. So the documentation has been changed to use the Intelligent Instrumentation names. For more detailed information about using LanPoint Pro terminals please refer to the following sections: - Hardware and Software Requirements for LanPoint Pro Terminals - Drive Arrangement on LanPoint Pro Terminals - Transferring Files to a LanPoint Pro Terminal - LanPoint Pro CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - LanPoint Pro Bar Code Configuration - Serial Port Use on the LanPoint Pro Terminal - Parallel Port and Digital I/O Use on the LanPoint Pro Terminal - Starting the Client on a LanPoint Pro Terminal - Setting Up a LanPoint Pro Terminal from Scratch Hardware and Software Requirements for LanPoint Pro Terminals ------------------------------------------------------------- In order to use the LanPoint Pro terminals, you must get the 2MB PCMCIA SRAM card. This not only includes DOS and some network and other manufacturer-provided drivers but it also provides non-volatile storage for transactions that are generated by the Client. If not attaching the terminal to the DCConnect PC via the serial port, the 'PC/TCP Network Kernel for DOS' from FTP Software is required and it must be purchased from FTP Software separately. One license of this software is required per terminal - as is the case with the DCConnect Client. One of the options for the LanPoint Pro terminal is a VGA card that goes into the PC/104 expansion slot. The use of this card changes the way the terminal handles video interrupts - which is different from the way the Client expects the interrupts to be used. Therefore, the VGA card cannot be installed when the Client is being used on the terminal. Drive Arrangement on LanPoint Pro Terminals ------------------------------------------- The LanPoint Pro terminals have a single A: drive which is the PCMCIA SRAM card. All files must be copied to this card. Transferring Files to a LanPoint Pro Terminal --------------------------------------------- The LanPoint Pro terminals can be booted from a PCMCIA SRAM card that is preloaded with DOS and low-level network drivers. Files can be copied to this SRAM card from any PC or laptop that has support for PCMCIA SRAM cards. The SRAM card is referred to as drive A: in the LanPoint Pro terminals. LanPoint Pro CONFIG.SYS, AUTOEXEC.BAT and Network Configuration --------------------------------------------------------------- In the discussion that follows, references are made to various files that come from the diskettes for FTP Software's product, PC/TCP Network Kernel for DOS. For information about where to find these files and how to copy them, refer to Installation Hints for the FTP Software TCP/IP Stack. Following is the CONFIG.SYS file that was used during our testing: device=keybufs.sys buffers=40,0 files=40 dos=high,umb fcbs=4,0 lastdrive=f *1 device=a:\net\protman.dos /i:a:\net *2 device=a:\net\smc9000.dos *3 device=a:\net\dis_pkt.gup A few notes about the above: 1) PROTMAN.DOS is one of 3 network drivers. This driver is on diskette 3 of FTP Software's PC/TCP product. The /i parameter gives the path in which to find PROTOCOL.INI, one of the network configuration files. Our PROTOCOL.INI contained the following, none of which should need to be changed: [network.setup] version=0x3110 netcard=smc9000,1,SMC9000,1 transport=ms$nwlink,MS$NWLINK transport=ms$ndishlp,MS$NDISHLP lana0=smc9000,1,ms$nwlink lana1=smc9000,1,ms$ndishlp [MS$NWLINK] FRAME=ETHERNET_802.2 DriverName=nwlink$ BINDINGS=SMC9000 [protman] DriverName=PROTMAN$ PRIORITY=MS$NDISHLP [SMC9000] DriverName=SMC9X$ Interrupt=0x0A IOBase=0x300 [MS$NDISHLP] DriverName=ndishlp$ BINDINGS=SMC9000 [pktdrv] drivername=pktdrv$ bindings=smc9000 intvec=0x60 2) SMC9000.DOS is the second of the network drivers. This one comes from the A:\NDIS directory of the LanPoint Pro Utilities diskette. This driver needs the configuration file SYSTEM.INI in the A:\NET directory. Here are the contents of the SYSTEM.INI file used in our testing: [network] directhost=yes filesharing=no printsharing=no autologon=yes computername=LANPOINTPRO lanroot=A:\NET username=LANPOINTPRO workgroup=WORKGROUP reconnect=yes dospophotkey=N lmlogon=0 logondomain=WORKGROUP preferredredir=basic autostart=full maxconnections=8 maxnwsess=8 [network drivers] netcard=smc9000.dos transport=ndishlp.sys devdir=A:\NET LoadRMDrivers=yes [Password Lists] *Shares=A:\NET\Share001.PWL The contents of this file should not have to be changed. 3) DIS_PKT.GUP is the last of the network drivers, a packet driver. It comes from diskette 3 of FTP Software's PC/TCP product. There is another driver PROTMAN.EXE which is not explicitly started in either CONFIG.SYS or AUTOEXEC.BAT but it is started by one of the other drivers. It therefore must also be present in the A:\NET directory in the terminal. This driver is on diskette 3 of FTP Software's PC/TCP product. Following is the AUTOEXEC.BAT file that was used during our testing: *1 LDRIVER *2 LPPINIT *3 DISTRACK w=40 PATH a:\;a:\dos;a:\net doskey PROMPT $p$g *4 PMADJUST *5 set pctcp=a:\net\lptcp.ini *6 a:\net\netbind *7 a:\net\ethdrv REM Start the Client *8 call em A few notes about the above: 1) LDRIVER.COM is a TSR that provides access to the various peripherals of the hardware, including bar code configuration, digital I/O and speaker. It is found in the root directory of the LanPoint Pro Utilities diskette. It also comes on the 2MB SRAM card. 2) LPPINIT.COM activates some BIOS extensions for the terminal. It is also found in the root directory of the LanPoint Pro Utilities diskette and on the 2MB SRAM card. 3) DISTRACK.COM is a TSR program that configures how the LCD display is to be used. The w=40 parameter above indicates the width of the screen should be treated as 4 rows of 40 columns wide (instead of 2 rows of wrapping 80 columns). This program is also found in the root directory of the LanPoint Pro Utilities diskette and on the 2MB SRAM card. 4) PMADJUST.COM puts the terminal in Power Management mode to help increase the life of the battery - if one is being used. This program is also found in the root directory of the LanPoint Pro Utilities diskette and on the 2MB SRAM card. 5) The environment variable 'pctcp' tells ETHDRV.EXE what configuration file to use for network parameters. 6) NETBIND.COM establishes a connection with the network. This program can be found on diskette 3 of FTP Software's PC/TCP product. 7) ETHDRV.EXE is the high-level ethernet driver. It can be found on diskette 2 of FTP Software's PC/TCP product. ETHDRV.EXE uses the setting of the environment variable PCTCP to determine what .INI file to use. LPTCP.INI must be customized for each terminal on the network. All should be the same except for the IP address. Here is the LPTCP.INI that we used during testing: [pctcp kernel] interface = ifcust 0 [pctcp ifcust 0] ip-address = 99.99.99.31 subnet-mask = 255.255.240.0 router = 99.99.99.101 For information about the possible need for entries for authentication-key and serial-number, see Authentication Key and Serial Number Entries in the .INI file. 8) The call to EM.BAT is the one that automatically starts the Client. LanPoint Pro Bar Code Configuration ----------------------------------- By default, the LanPoint Pro is configured to handle any of the bar code symbologies that it supports. To make sure the ones that you will need are supported, consult the documentation that comes with the terminal. Also by default, bar code input is routed through the keyboard and a carriage return character is automatically appended to the end. Therefore nothing special is needed for the Client to be able to read bar code input in most situations. However, if the terminal must be able distinguish between bar code and keyboard input or if better enforcement of bar code lengths is required, then special preamble and postamble characters will have to be configured and the keyword SCAN_SENTINEL_CHARS will have to be included in EMULATOR.INI. For more about this keyword, see Keyword: SCAN_SENTINEL_CHARS. In order to change the default preamble and postamble characters in the LanPoint Pro terminal, you must use the utility PREPOST.EXE which can be found in the LANPTPRO directory where the Client is installed. This utility takes two parameters: the decimal value of the preamble character and the decimal value of the postamble character. These should match the same values used in the EMULATOR.INI for the SCAN_SENTINEL_CHARS keyword (without the comma). For example: prepost 91 93 A line similar to this should be included in EM.BAT if the SCAN_SENTINEL_CHARS keyword is used in EMULATOR.INI. Serial Port Use on the LanPoint Pro Terminal -------------------------------------------- The serial port on the LanPoint Pro terminals can be used by the Client to communicate with devices such as a serial printer or scale. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of over ethernet. Parallel Port and Digital I/O Use on the LanPoint Pro Terminal -------------------------------------------------------------- While the LanPoint Pro terminals have a digital I/O port and the capability to add a parallel port, the Client does not currently support access to the parallel port or Digital I/O from transaction programs or CFRs. Starting the Client on a LanPoint Pro Terminal ---------------------------------------------- Since the LanPoint Pro has only a single drive, the Client and the file ETSCHECK.LIC should be copied to that drive along with any configuration file(s). If desired, all of these files could be copied to a subdirectory instead - but they must all be in the same directory. The following 'device' command line parameter must be used when starting the Client on a LanPoint Pro terminal: -dLANPOINTPRO Note: You can also use the Symbol name for this terminal: -dFMT3000 For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a LanPoint Pro Terminal from Scratch ----------------------------------------------- This section describes suggested steps to take an out-of-the-box LanPoint Pro terminal and set it up so that the Client can run on it. The instructions below assume the use of an SRAM card. Our BIOS level was 3.01. The 2MB SRAM card as received from Intelligent Instrumentation contains the following files: A:\AUTOEXEC.BAT A:\CARDSOFT\INTELLAN.CLB A:\MOUSE\MOUSE.EXE A:\CONFIG.SYS A:\CARDSOFT\LINKSYS.CLB A:\MOUSE\MOUSE.LAN A:\CUSTOM.EXE A:\CARDSOFT\LINKSYS2.CLB A:\CUSTOM.INI A:\CARDSOFT\MCFORMAT.EXE A:\NDIS\NET.CFG A:\DISTRACK.COM A:\CARDSOFT\MTAA.CLB A:\NDIS\OEMSETUP.INF A:\DRVSPACE.BIN A:\CARDSOFT\MTAA.EXE A:\NDIS\PROTOCOL.INI A:\KEYBUFS.SYS A:\CARDSOFT\MTAB.CLB A:\NDIS\SMC9000.DOS A:\LDRIVER.COM A:\CARDSOFT\MTAB.EXE A:\NDIS\SMC9000.NIF A:\LPPINIT.COM A:\CARDSOFT\MTDDRV.CLB A:\NDIS\SMC9000.OS2 A:\PAUSE.SYS A:\CARDSOFT\MTDDRV.EXE A:\PMADJUST.COM A:\CARDSOFT\MTI1.CLB A:\NWCLIENT\IPXODI.COM A:\CARDSOFT\MTI1.EXE A:\NWCLIENT\LOGIN.BAT A:\CARDSOFT\ADAPTER.CLB A:\CARDSOFT\MTI2P.CLB A:\NWCLIENT\LSL.COM A:\CARDSOFT\ADAPTER.EXE A:\CARDSOFT\MTI2P.EXE A:\NWCLIENT\NET.CFG A:\CARDSOFT\ATADRV.CLB A:\CARDSOFT\MTSRAM.EXE A:\NWCLIENT\NETX.EXE A:\CARDSOFT\ATADRV.EXE A:\CARDSOFT\PROXIM.CLB A:\NWCLIENT\SMC9000.COM A:\CARDSOFT\ATAINIT.CLB A:\CARDSOFT\SOCKETEA.CLB A:\NWCLIENT\SMC9000.INS A:\CARDSOFT\ATAINIT.EXE A:\CARDSOFT\SS365SL.EXE A:\CARDSOFT\CARD_BAP.CLB A:\CARDSOFT\SSCIRRUS.EXE A:\PACKET\DIS_PKT9.DOS A:\CARDSOFT\CARD_BAP.EXE A:\CARDSOFT\SSDETECT.EXE A:\PACKET\ODIPKT.COM A:\CARDSOFT\CARDID.CLB A:\CARDSOFT\SUNDISK5.CLB A:\PACKET\SMC91C92.COM A:\CARDSOFT\CARDID.EXE A:\CARDSOFT\SYSEDIT.EXE A:\CARDSOFT\CARDID.INI A:\CARDSOFT\TDKLAN2.CLB A:\UTILS\ADDRESS.EXE A:\CARDSOFT\CARDINFO.CLB A:\CARDSOFT\VCB.EXE A:\UTILS\BACKLGHT.EXE A:\CARDSOFT\CARDINFO.EXE A:\CARDSOFT\WD.CLB A:\UTILS\BATTERY.EXE A:\CARDSOFT\CBDAS.CLB A:\CARDSOFT\XIRCOM.CLB A:\UTILS\BCODE.EXE A:\CARDSOFT\CS.EXE A:\UTILS\CUSTOM.INI A:\CARDSOFT\CS_APM.EXE A:\DOS\DEBUG.EXE A:\UTILS\DIGIN.EXE A:\CARDSOFT\CSALLOC.EXE A:\DOS\DOSKEY.COM A:\UTILS\DIGOUT.EXE A:\CARDSOFT\CSALLOC.INI A:\DOS\EDIT.COM A:\UTILS\DIR4.BAT A:\CARDSOFT\CSDETECT.EXE A:\DOS\EDIT.HLP A:\UTILS\ETHERNET.EXE A:\CARDSOFT\DISK.ID A:\DOS\EMM386.EXE A:\UTILS\GOODREAD.EXE A:\CARDSOFT\DLINK.CLB A:\DOS\FORMAT.COM A:\UTILS\README.TXT A:\CARDSOFT\ENDBOOTR.EXE A:\DOS\HIMEM.SYS A:\UTILS\TYPE4.EXE A:\CARDSOFT\FTL.CLB A:\DOS\MEM.EXE A:\UTILS\VOLUME.EXE A:\CARDSOFT\FTL.EXE A:\DOS\MORE.COM A:\UTILS\WEDGE.EXE A:\CARDSOFT\GENATA.CLB A:\DOS\PRINT.EXE A:\CARDSOFT\GENMODEM.CLB A:\DOS\QBASIC.EXE A:\CARDSOFT\IBM3270.CLB A:\DOS\QBASIC.PIF A:\CARDSOFT\IBMLAN.CLB A:\DOS\SYS.COM A:\CARDSOFT\IBMTOK.CLB A:\DOS\XCOPY.EXE 1) Before doing anything, copy the original contents of the SRAM card to a safe place. For example, if the backup directory will be called c:\lanptorg and the SRAM card is drive F: c: md \lanptorg xcopy f:\*.* c:\lanptorg /s 2) As shipped the 2MB SRAM card does not leave enough space for the additional files that must be copied on for the Client. So to make more space, the following files can be deleted from the SRAM card: DOS\QBASIC.EXE all files in the MOUSE directory all files in the NDIS directory all files in the NWCLIENT directory all files in the PACKET directory all files in the CARDSOFT directory The empty directories can then be removed. 3) Now create a special directory on your PC for building the set of files that will end up on the SRAM card. This will allow you to quickly recreate the card should anything happen to its contents. Start by copying all files from the SRAM card to this directory. For example: c: md \lanptsrm xcopy f:\*.* c:\lanptsrm /s The above example assumes the PC sees the SRAM card as drive F: and the directory for the set of SRAM card files will be c:\lanptsrm For the remaining steps, perform all file changes and copies into this building directory (c:\lanptsrm in this example). 4) The default AUTOEXEC.BAT includes all the calls to terminal drivers that are needed - and none need to be removed. The only change to the existing statements that is needed is to add 'w=40' parameter to the call to DISTRACK. Other calls are needed for network drivers and for starting the Client. If the TCP/IP flavor of the Client will be used (instead of the serial flavor), add the following lines at the end for the network drivers. set pctcp=a:\net\lptcp.ini a:\net\netbind a:\net\ethdrv Then regardless of which Client is being used, add the following line so that the Client batch file is started automatically whenever the terminal is rebooted: call em For more information about the calls in AUTOEXEC.BAT, refer to the section LanPoint Pro CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. 5) The default CONFIG.SYS includes all the basic statements that are needed - and none need to be removed. There are several calls to CARDSOFT drivers that are commented out - and should remain that way. All that must be added are the calls needed for network drivers - and that is only if the TCP/IP flavor of the Client is to be used. In that case, add the following statements at the end of the file: device=a:\net\protman.dos /i:a:\net device=a:\net\smc9000.dos device=a:\net\dis_pkt.gup For more information about the statements in CONFIG.SYS, refer to the section LanPoint Pro CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. 6) If you are running the serial flavor of the Client skip this and the next 2 steps. Otherwise, first create a directory called NET under the building directory. For example: md c:\lanptsrm\net Then copy the following file to that NET subdirectory from the 'LANpoint Pro Utility Disk' (from Intelligent Instrumentation): a:\ndis\smc9000.dos 7) You will need to create a PROTOCOL.INI and SYSTEM.INI that match the ones described previously and you will need to create a LPTCP.INI that is similar to the one described previously. All of these files should be created in the NET subdirectory. For more information about the contents of these files, refer to LanPoint Pro CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. 8) The following files come from diskettes for FTP Software's PCTCP Network Kernel for DOS: protman.dos protman.exe dis_pkt.gup netbind.com ethdrv.exe These should all be copied/expanded into the NET subdirectory that was created in step 6. Note: Although PROTMAN.EXE is not explicitly called in either CONFIG.SYS or AUTOEXEC.BAT it is called indirectly by one of the other drivers. For more information about how to copy these files from the PCTCP product diskettes to the directory for SRAM card files, refer the the section Installation Hints for the FTP Software TCP/IP Stack. 9) Now copy the following files from where the Client is installed to the top level directory for the SRAM card files: ETSCHECK.LIC If using the serial flavor of the Client: SERIAL\ETSPB.EXE If using the Client along with the FTP Software TCP/IP stack: TCP_FTP\ETSPT.EXE 10) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you decide you need this file, create it in the topmost directory for the SRAM card files (e.g. c:\lanptsrm). 11) The last Client specific file to create is EM.BAT. Remember that in step 4 above AUTOEXEC.BAT was changed to call EM.BAT at the end. This file will have different contents depending on what flavor of the Client you are running and what device you are using. For all flavors, you should start with the following two lines: a: cd \ to make sure the Client is running from the right drive and directory. If you need to configure preamble and postamble characters for barcodes you should have already added the SCAN_SENTINEL_CHARS keyword to EMULATOR.INI and you should add a line similar to the following to EM.BAT: prepost 91 93 Be sure to use the same values for parameters that you used for the SCAN_SENTINEL_CHARS keyword. Also be sure to copy PREPOST.EXE from the LANPTPRO directory where the Client is installed into the directory for SRAM files. Next add the following line to force the 4x40 display to show only the upper left hand corner of the larger VGA screen: distrack r=0 c=0 If you are running the serial flavor of the Client, then add a line to EM.BAT that is similar to: etspb -aB -b19200 -dLANPTPRO Change the -a (address) and -b (baud rate) parameters as appropriate for your configuration. You can also use -dFMT3000 instead of -dLANPTPRO. If you are running the TCP/IP flavor of the Client, then instead add a line to EM.BAT that is similar to: etspt -dLANPTPRO -h1.2.3.4,7500 Change the -h (host PC) parameters as appropriate for your configuration. You can also use -dFMT3000 instead of -dLANPTPRO. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add the following two calls to clear the screen and reset the LCD display mode: cls distrack w=40 12) These are all of the files that can be set up from the PC. So at this time you can copy all of the files from your directory for SRAM card files to the actual SRAM card. Once all files are copied, make sure the terminal is powered off, put the SRAM card into the terminal and then power it on. Let the terminal come up and make sure everything starts up properly. Using the DCConnect Client on Intermec 6400 Terminals ----------------------------------------------------- This section describes what additional configuration must be done when using the Client on an Intermec 6400 RF (or batch) terminal. It is important to note that although the 6400 terminal has 16 rows, the bottom row is used to display annunciators for battery status, keyboard shift states and other information. These annunciators overwrite most of any text that might be written to row 16 by the DCConnect Client. Therefore, the Client considers the 6400 terminal to have only 15 rows available. For more detailed information about using 6400 terminals please refer to the following sections: - Hardware and Software Requirements for 6400 Terminals - Drive Arrangement on 6400 Terminals - Transferring Files to a 6400 Terminal - 6400 CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - 6400 Bar Code Configuration - Configuring the 6400 Display and Viewport - Serial Port Use on the 6400 Terminal - Starting the Client on the 6400 Terminal - Setting Up a 6400 Terminal from Scratch Hardware and Software Requirements for 6400 Terminals ----------------------------------------------------- When ordering the 6400 terminal for use with the DCConnect Client, the following minimum configuration is needed: - 4MB RAM / 2MB flash is sufficient for the needs of the Client - DOS/PC keyboard overlay is required - whether 41 key or 51 key - Choose the scanner you need - Choose the radio that you need (or none for batch) - If using the serial flavor of the Client, then the 'Batch' Connectivity Software load is all that is needed. Otherwise choose the type of 'FTP/IP Client Software' that is appropriate for the radio that you selected. If you selected one of the 'FTP/IP Client Software' loads, then this includes the required license of FTP Software's PC/TCP Network Kernel for DOS along with the necessary radio drivers. Therefore you do not have to order anything from FTP Software separately. If the DCConnect Client will need to be able to distinguish between keyboard input and scanner input, then you will need to purchase one copy of: 215-760-001 DOS Developer Diskettes because this includes the driver 64SCN7A.EXE that is needed in order for the Client to be able to read scanner input directly. Only one copy is necessary regardless of how many 6400 terminals you are using. But if you just want all scanner input to be routed through the keyboard in 'wedge' mode, this driver is not needed. In order to load the 6400 terminal, it must be serially attached to a DOS PC because the DOS utility INTERLNK.EXE is required. This utility is not part of nor will it run under Windows 95/98/NT or OS/2. The serial connection from the PC to the terminal requires the 6400 be put into one of the choices for docking station or the use of the following: 705-368-001 Communications Adapter, Serial The latter requires a standard null-modem cable as well. Check with Intermec for part numbers on the docking stations and for the cable requirements of the docking station (probably a null-modem cable too). Drive Arrangement on 6400 Terminals ----------------------------------- The 6400 terminal has the following drives: A: This is a read-only drive that is not used by the Client. It is used strictly for the radio card. C: This is the readable/writable non-volatile flash drive. The minimum available 2MB flash memory is sufficient for the needs of the Client. Of that 2MB, 256K is used for BIOS and DOS files. This is the drive where all 6400 programs and drivers reside and it is the drive where all Client files will reside and run from. D: This a RAM drive that is typically only used as a temporary repository for files when the terminal is reflashed. It is not used by the Client. Transferring Files to a 6400 Terminal ------------------------------------- Transferring files to a 6400 terminal can be done one of two ways: 1) Using the serial port attached via a null-modem cable to a DOS PC. The terminal must be in a docking station or have a serial adapter in place. The null-modem cable attaches to the docking station/serial adapter on the terminal side. With the proper cabling and hardware in place, the DOS programs INTERLNK.EXE and INTERSVR.EXE are used to map drives on the terminal to extra drive letters on the PC. Once this mapping is set up, files can be copied between the terminal and the PC. The flash load for the terminal includes a file, 6400.BAT, which is used to run INTERSVR.EXE on the terminal. So by simply entering: 6400 on the terminal command line, the INTERSVR program is started and waits for a connection from the PC. The DOS PC must have a statement similar to the following in CONFIG.SYS: device=c:\dos\interlnk.exe /drives:3 in order for the PC to hook up with the 6400 terminal during reboot of the PC. Even after reboot, INTERLNK can be run from the command line whenever you want to see the status of the connection - and to find out which drive letter on the PC is mapped to the 6400 C: drive. For more information on INTERLNK/INTERSVR programs, consult the DOS User's Guide. For more information on the 6400.BAT command file, see the 6400 Programmer's Reference Guide. It is recommended that when copying files, the XCOPY command be used along with its /V parameter to verify that the file copy was successful. 2) Once the 6400 is communicating on the TCP/IP network, the program FTP.EXE can be run from the 6400 terminal to transfer files to/from an FTP server on the network. In order to reflash the terminal, which should not be necessary in most cases, the null-modem cable setup to a DOS PC, described above in #1, is required. Please see the 6400 Programmer's Reference Guide for instructions on how to reflash the 6400 terminal. CONFIG.SYS, AUTOEXEC.BAT and Network Configuration for 6400 Terminals --------------------------------------------------------------------- The following CONFIG.SYS file was used during our testing. It is unchanged from the one provided in the default DOS flash load for the terminal: break=on buffers=30 files=128 lastdrive=f stacks=9,256 device=c:\himem.sys dos=high device=c:\elanump.sys /X=c000,d000,d400,e400,e800,ec00 dos=umb device=c:\norirda.sys -t:6400 devicehigh=c:\elanapm.exe /L0 devicehigh=c:\nordospm.exe devicehigh=c:\clock.exe devicehigh=c:\64apmoem.exe shell=c:\command.com c:\ /e:512 /p Following is the AUTOEXEC.BAT file that was used during our testing with an RF terminal (2.4ghz Open Air - FCC): @Echo Off elancfg /V1 /T2 /D24 /L1 /H1 *1 set runem=0 *2 delay "Press 0 for C>" /500 if not errorlevel 1 goto PC set runem=1 *3 set PCTCP=C:\PCTCP.INI *4 641223 -T0 *5 64scn7a cdsvc1a *6 lsl prox_apm p rl2pcm delay "" /500 /k owlattch odipkt.com ethdrv.exe for %%i in (dhcpfile snmpfile) do if exist %%i.bat call %%i :PC misctsr -A -K -L -T -P1 dosgas Echo PEN*KEY 6400 FLASH Bios *7 if "%runem%" == "1" call em.bat A few notes about the file above: 1) The 'runem' flag is used to determine whether or not EM.BAT should be run at the end to start the DCConnect Client automatically. By default this is no - in case the user presses 0 in the next step to stop all the drivers from loading. 2) The default load from Intermec included this and the following statement to allow the user to press 0 to stop all the scanner, radio and network drivers from loading. 3) The PCTCP environment variable indicates the name of the .INI file that contains the terminal's network configuration. The contents of this file will be described below. 4) 641223.EXE is the scanner driver. It has several command line parameters which are described in the 6400 Programmer's Reference Guide. In the statement above, the driver is being started so that its scanner API can be used to read scanner input directly. This is the default if no parameters are provided. The -t0 parameter used above indicates a tethered scanner will not be attached to the terminal, just the internal scanner. This parameter is required, if the serial port is to be used to attach to a serial device. In order to run the scanner in 'wedge' mode where all scanner input is routed through the keyboard, the following parameters should be added: -e -w -c This is in fact the way the configuration is set up in the default DOS load from the factory. The -e means don't enable the API interface and instead turn the scanner on permanently. -w means to enable wedge mode so that scanner input goes through the keyboard. And -c means to append a carriage return / line feed to each bar code that is scanned. Whether or not -t0 (disable tethered scanner) or -i0 (disable internal scanner) should be added depends on which scanner you will be using. To allow the Client to control the scanner properly, it is best not to run in wedge mode (use no flags or just -t0 or -i0). This allows the Client to keep the scanner off except when needed and it allows the Client to distinguish between keyboard and scanner input. Another parameter, -An where n is a # of half second intervals, must be used for internal long range scanners to configure how duration of the aiming beam. By default the aiming beam is disabled. 5) 64SCN7A.EXE is the scanner driver that must be in place in order for the Client to be able to turn the scanner on and off and to be able to read scanner input directly. This driver is not part of the default load. It is found on the 6400 DOS Developer Diskettes. It is recommended that this driver be used with the Client. If it is used, the previous driver, 641223 must not have any parameters - except perhaps -i0 or -t0. 6) LSL.COM is the first of several radio and network drivers that are loaded. Other radio drivers are PROX_APM.COM, RL2PCM.COM and OWLATTCH.COM. The network drivers are ODIPKT.COM and ETHDRV.EXE. These are all part of the default terminal load of a 6400 RF terminal with a 2.4GHZ radio. 7) The last statement was added to automatically start the Client - if the 'runem' flag is set (See #1 above). The radio configuration is defined in the file NET.CFG. The following is the NET.CFG used in our testing: Link Driver RL2PCM *1 DOMAIN 11 INT 15 PORT 270 MEM #1 C000 STATION_TYPE 0 FRAME ethernet_II PROTOCOL NNL 875B ethernet_II SOCKET A INITIALIZE_365 N ROAM_CONFIG 1 MAC_OPTIMIZE 1 PEER_TO_PEER N INACTIVITY_SEC 5 INACTIVITY_MIN 0 PM_DELAY 1 READ_PORT_OFF *2 CHANNEL 1 SUBCHANNEL 1 A few notes about the file above: 1) We changed the DOMAIN value to match our access point. 2) We added CHANNEL and SUBCHANNEL to match our access point as well. The TCP/IP parameters for the network are set up in PCTCP.INI. Here are the contents of the file we used in our testing: [pctcp ifcust 0] *1 ip-address = 99.99.99.81 *2 subnet-mask = 255.255.240.0 *3 router = 99.99.99.101 interface-type = PKTDRV frame-type = DIX-Ethernet asynch-send = yes odi-pkts = 8 [pctcp kernel] interface = ifcust 0 kernel-does-dns = no mtu-discovery = yes multicast = no pktdrv-loopback = yes router-discovery = no window = 4380 disable-timeout = yes arp-timeout = 1500 do-slow-start = yes icmp-echo-broadcast = yes [pctcp general] etc-dir = c:\ name-resolution = dns time-zone-name = CST time-zone-offset = 360 host-name = domain = [pctcp time] time-zone-subsection = us-cst dst-begins = 93 dst-ends = 304 [pctcp time us-cst] time-zone-name = CST time-zone-full-name = US/Central Standard Time time-zone-offset = 6:00 dst-rule = US Federal dst-name = CDT dst-offset = 5:00 dst-begin-day = M4.1.0 dst-end-day = M10.5.0 dst-begin-time = 2:00 dst-end-time = 2:00 [pctcp dhcp] cache-lease = no [pctcp pctcpnet] use-advanced = yes [pctcp socks] use-socks = no socks-server = [pctcp tn] screen-saver = yes ; if you wish to use an alternative keyboard mapping, specify it here [pctcp 3270] ;3270-keymap = c:\abcd.kyb [pctcp vt] ;vt220-keymap = c:\abcd.kyb Most of this is unchanged from the default, except for the following: 1) The terminal's IP address must be set. Each terminal must have a unique value and it must match the address that is configured for this terminal in DCConnect. 2) The subnet mask must be set to what is valid for your network. 3) The router must be set to what is valid for your network. 4) The default PCTCP.INI also included the following two lines: [pctcp addresses] domain-name-server = x.x.x.x We removed these because the Client does not require a name server. 6400 Bar Code Configuration --------------------------- When using 6400 terminals, configuration of the bar codes is not done using the information that might be downloaded from the DCConnect Server. Instead, a special utility, 6400BC.EXE, is provided as part of the DCConnect Client so that all capabilities of the 6400 internal scanning functions can be taken advantage of. Note: The only way to configure bar code symbologies for a tethered scanner, is to scan special bar codes from the scanner's manual; a tethered scanner can not be configured programmatically. For more information about using tethered scanners, see the 6400 Programmer's Reference Guide. The 6400BC utility reads a configuration file, 6400BC.CFG, to determine which bar codes symbologies should be active. Each symbology may also have certain parameters configured for it. The 6400BC.CFG file contains comments which explain exactly how to make changes to it. Both 6400BC.CFG and 6400BC.EXE are provided in the 6400 directory where the the Client is installed. In the default DOS load of a 6400 terminal, the scanner is configured to be in wedge mode (parameters -e -w and -c are used with 641223), which means all scanner input is routed through the keyboard. It also means the scanner is active at all times. The DCConnect Client will work just fine in this mode, but it will not be able to distinguish between keyboard and scanner input and it will not be able to turn off the scanner when it is not needed. However, if the 6400 scanner driver (641223.EXE) is configured to run in API mode (parameters -e -w and -c are not used) instead of wedge mode and the additional 6400 scanner driver (64SCN7A.EXE) is loaded, then the Client is able to turn the internal scanner on only when scanner input is allowed in a transaction program or CFR and the Client is able to distinguish between scanner and keyboard input - preventing one or the other as needed. Note: The 6400 does not allow a tethered scanner to be turned on and off; if a tethered scanner is being used (-t1 parameter added to 641223) then it is always on. But even so, the ability to distinguish between keyboard and scanner input is still available when using a tethered scanner - as long as 641223.EXE is running in API mode. For more information about setting up 641223.EXE and 64SCN7A.EXE in AUTOEXEC.BAT, which is how our test configuration was set up, please refer to the discussion of the AUTOEXEC.BAT used in our testing above. It is recommended that the API mode be used rather than wedge mode in order to allow the Client to fully control the scanner. If API mode is used then you will need to get the 64SCN7A.EXE driver from the 6400 DOS Developer Diskettes. In addition, you will need the following driver: 6400_TSR.EXE from 6400 directory where the Client is installed. In order for the Client to use the 6400_TSR, the TSR must be started before the Client is started (in EM.BAT) and the following keyword must be part of EMULATOR.INI: USE_TSR_FOR_SCANNER = Y For more information see Keyword: USE_TSR_FOR_SCANNER. IMPORTANT NOTE: The 6400 terminal does not provide a way to programmatically configure preamble/postamble (aka prefix/suffix) characters for bar codes that are read. The only way to do this is by scanning special bar codes from the scanner User's Guide. But that requires those bar codes to be scanned by every terminal - which means each terminal's scanner must be configured separately, by hand. If you do choose to use this method then the SCAN_SENTINEL_CHARS keyword would be used in EMULATOR.INI instead of USE_TSR_FOR_SCANNER. And if USE_TSR_FOR_SCANNER is not being used, you would lose the ability to turn the scanner off during periods when scanned input is not allowed. But with the use of 64SCN7A.EXE and 6400_TSR.EXE along with running 641223.EXE in API mode, the Client is able to accomplish the same function that SCAN_SENTINEL_CHARS provides. Configuring the 6400 Display and Viewport ----------------------------------------- The physical screen of the 6400 terminal (viewport) is 15 rows by 20 columns (if you do not include the annunciator row). That viewport can be moved around the virtual 25 by 80 screen of DOS by using the blue shift key along with the arrow keys. By default the viewport is positioned at the bottom left of the virtual 25 by 80 screen. And by default pressing the blue shift key and one of the arrow keys moves the viewport one row or one column in the direction of the arrow pressed. The DCConnect Client uses the upper 20 rows and the leftmost 40 columns of the virtual 25 by 80 screen. So while the Client is running, the virtual screen can be considered to have shrunk to 20 by 40 - which is still larger than the viewport. In order to view the DCConnect Client screens properly, the viewport must be repositioned to be at the top left of DOS's virtual 25 by 80 screen. In order to reposition the viewport without having to use the blue shift key and arrow keys, a utility called 6400DISP.EXE is provided in the 6400 directory where the Client is installed. This utility takes one of two parameters: TOP or BOTTOM to indicate whether the viewport should be position in the top left or bottom left corner. So before the Client is started, the following command should be run: 6400disp top and after the Client ends the following command should be run: 6400disp bottom Repositioning at the bottom when returning to DOS will properly position the viewport so that the DOS command prompt is at the bottom of the screen. While the Client is running, the blue shift keys and arrow keys can still be used to move the viewport around. However, because for each press of the arrow key (preceded by the blue shift) the viewport moves only one position, it is a very tedious process to move the viewport more than a couple of rows or columns. Fortunately, the Client handles movement around its own virtual screen by simply pressing one of the arrow keys without the blue shift key. In this case, the screen moves by one half of the width or one half of the height of the screen in the direction of the arrow pressed. In this case, the 6400 viewport remains in its same position; its just that the Client is showing a different part of its virtual 20 by 40 screen. The exception to this is when the menus are up, the Client does not act on the arrow keys. But if you need to scroll while in the menus, you can still use the blue shift key and the arrow keys to move the viewport around, one row or column at a time. The 6400 terminal not only supports the default 16 x 20 screen size but also supports a number of other screen sizes. The number of rows can be any of 5, 8, 10 or 16 and the number of columns can be any of 10, 13, 16, 20, 26 or 32. If you want to change the terminal's screen size before running the Client, you can use the 6400DISP utility with the first parameter being 'size', the second parameter being the number of rows and the third parameter being the number of columns. For example, to set the screen size to 16 rows x 26 columns, enter the following on the terminal (after 6400DISP.EXE has been loaded to it): 6400disp size 16 26 If you will be changing the screen size, it is probably best to add this command to AUTOEXEC.BAT. Serial Port Use on the 6400 Terminal ------------------------------------ The serial port on the 6400 terminal can be used not only for transferring files and images to the terminal, but it can be used by the Client to communicate with devices such as a serial printer. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of RF over ethernet. Starting the Client on the 6400 Terminal ---------------------------------------- The executable for the Client and the file ETSCHECK.LIC should be copied to the C: drive of the 6400 along with any configuration file(s). The following 'device' command line parameter must be used when starting the Client on a 6400 terminal: -dINTERMEC6400 For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a 6400 Terminal from Scratch --------------------------------------- This section describes suggested steps to take an out-of-the-box 6400 terminal and set it up so that the Client can run on it. The instructions below are based on a 6400 terminal that was loaded with version 1.12 of the FTP/IP Client Software for a 2.4ghz radio and had version 1.25 BIOS. Note: The PC operations in these instructions must be performed from a PC that has a FAT harddrive, CD ROM drive, RS-232 serial port and must be running DOS. The INTERLNK.EXE utility that must be run on the PC is not part of and will not run under Windows 95/98/NT or OS/2. The 6400 terminal initially contains the following files on drive C: C:\6400.BAT C:\CONFIG.BAK C:\INET.EXE C:\PROTOCOL C:\641223.EXE C:\CONFIG.SYS C:\INTERSVR.EXE C:\PROX_APM.COM C:\64APMOEM.EXE C:\CONTEXT.CNF C:\IRDAPDRV.EXE C:\PROXSTAT.EXE C:\64IPPR10.NAM C:\DELAY.EXE C:\LSL.COM C:\RAMDFMT.EXE C:\64SCN7B.EXE C:\DHCP.EXE C:\MISCTSR.EXE C:\RL2PCM.COM C:\ANSI.SYS C:\DHCPHLPR.EXE C:\MMBFLAG.COM C:\RPC C:\AUTOEXEC.BAK C:\DOSGAS.EXE C:\MODE.COM C:\SERVICES C:\AUTOEXEC.BAT C:\ELANAPM.EXE C:\NET.CFG C:\SETCLOCK.EXE C:\BIOS.EXE C:\ELANCFG.EXE C:\NORDOSPM.EXE C:\SNMPD.EXE C:\BOOTP.EXE C:\ELANUMP.SYS C:\NORIRDA.SYS C:\TFTP.EXE C:\CDSVC1A.EXE C:\ENTITY.CNF C:\ODIPKT.COM C:\TIMEZONE.INI C:\CHGPARMS.EXE C:\ETHDRV.EXE C:\OWLATTCH.COM C:\TRAPCOMM.CNF C:\CLOCK.EXE C:\FTP.EXE C:\PCTCP.INI C:\COMMAND.COM C:\HIMEM.SYS C:\PING.EXE C:\COMMUNIT.CNF C:\HOSTS C:\PRDRV.SYS 1) The first step is to copy from the terminal to the PC, the files that already exist but which need to be modified. For these files and for those that must be added, create an empty subdirectory on your DOS PC. These instructions will use C:\6400LOAD: md c:\6400load Then transfer from the 6400 terminal to this directory the following files: AUTOEXEC.BAT NET.CFG PCTCP.INI For instructions about how to transfer files from the 6400 to the PC, see Transferring Files to a 6400 Terminal. You will change each of these files in the following steps. 2) Make the changes to AUTOEXEC.BAT that are described above. Be sure to set the parameters for the call to 641223 based on whether or not a tethered scanner is being used and whether or not the scanner will be running in wedge mode. To summarize: - If running in wedge mode, use the following line: 641223 -e -w -c - If you must be able to distinguish between keyboard and scanner data (which requires the use of 64SCN7A and 6400_TSR) then use the following two lines: 641223 64SCN7A - In either case, if a tethered scanner will not be used, add -T0 to the call to 641223. Or if the interal scanner will not be used, add -I0 to the call to 641223. - If you want to change the default screen size of 16 x 20 to something else, add a line to AUTOEXEC.BAT to call '6400disp' with the appropriate parameters. This line should be added right before the call to EM.BAT at the end. For more information about changing the screen size please see Configuring the 6400 Display and Viewport. If you will be using the 6400 terminal in batch mode (thus not using the radio) you should add the following line before the call to 'lsl': goto pc This will skip the loading of the radio and network drivers. After having made this change, skip the next two steps below because they deal with change radio/network configuration files. 3) Make the changes to NET.CFG that are described above. Be sure the DOMAIN matches that of your access points and if necessary set the CHANNEL and SUBCHANNEL values. Contact your RF network administrator if you are not sure how these parameters should be set. 4) Make the changes to PCTCP.INI that are described above. You must set a unique 'ip-address' for each terminal. The 'subnet-mask' and 'router' will be common across all terminals. If you have more than one terminal in your network, you will have to remember to change the 'ip-address' in PCTCP.INI before loading each terminal. To make this easier, you could create a batch file (and we recommend you do) that takes as a parameter the ip-address and generates the PCTCP.INI file for you and then copies all the files to the 6400 terminal, provided the cabling is set up and 6400.BAT has been run on the terminal. The following steps can accomplish all this: a) First we have to take the PCTCP.INI that you just set up with the ip-address, subnet-mask and router and split it up into parts. Create a file called PCTCP.1ST and copy into it all lines from PCTCP.INI starting at the beginning of the file and going up to but NOT including the line with ip-address. (This may only be one line). b) Create another file called PCTCP.2ND and copy into it all lines from PCTCP.INI starting with the line after the one with ip-address and going to the end of the file. c) Create a batch file called LOAD6400.BAT in the directory C:\6400LOAD that contains the following: @echo off if "%2" == "" goto needparm copy pctcp.1st pctcp.ini echo ip-address = %2 >> pctcp.ini copy pctcp.ini+pctcp.2nd pctcp.ini echo . echo . Be sure the 6400 is attached to the PC with a null-modem cable. echo . echo . Then run 6400 from the C: drive of the 6400. echo . echo . After you have done that, press Enter to begin the transfers. pause >nul xcopy *.* %1\ /v echo All files have been transferred. Please reboot the terminal. goto end :needparm cls echo . echo . You must enter the drive letter that maps to the terminal's echo . C: drive and you must enter terminal's IP address. For example: echo . echo . load6400 e: 99.99.99.7 echo . :end d) Do not run this batch file now because there are still more files to be created and copied into the C:\6400LOAD directory. Later when you do run this batch file, you will provided two parameters. The first is the drive letter on the PC that is mapped to the 6400's C: drive. If you don't know what that is, run INTERLNK on the PC after the terminal is serially attached to the PC and you have started 6400.BAT on the terminal. The second parameter to LOAD6400.BAT is the terminal's IP address - which will be inserted into PCTCP.INI before the terminal is loaded. 5) Now copy the following files from the where the Client is installed to the C:\6400LOAD on your PC: ETSCHECK.LIC If using the serial flavor of the Client: SERIAL\ETSPB.EXE If using the RF / TCP/IP flavor of the Client: TCP_FTP\ETSPT.EXE In all cases, copy: 6400\6400DISP.EXE 6) In order to configure code symbologies for the scanner, the following files are needed from the 6400 directory where the Client is installed. Copy these into the C:\6400LOAD directory: 6400BC.EXE 6400BC.CFG Make changes to 6400BC.CFG as necessary. The file contains comments which explain how to change the file. For more general information, refer to 6400 Bar Code Configuration. 7) If you must be able to distinguish between keyboard and scanner data then be sure you set up the calls to 641223 and 64SCN7A when setting up AUTOEXEC.BAT above and copy the following file from 6400 DOS Developer's Kit. The file may be in one of the self-extracting zip files on that diskette. We had version 1.05 of the diskette and we found the file in the self-extracting zip file 64TK105D.EXE. 64SCN7A.EXE In addition copy the following file from where Client is installed: 6400\6400_TSR.EXE (Both of these files should be copied to C:\6400LOAD on the PC). 8) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you decide you need this file, create it in the C:\6400LOAD directory. If you decided to use 6400_TSR in the previous step, you must add the following keyword to EMULATOR.INI: USE_TSR_FOR_SCANNER = Y 9) The last Client specific file to create is EM.BAT. Remember that in step 2 above AUTOEXEC.BAT was changed to call EM.BAT at the end. This file will have different contents depending on what flavor of the Client you are running and depending on how the scanner is being used. For all flavors, you should start with the following three lines: c: cd \ 6400bc so that the Client can be started regardless of what the current directory and drive are and so that the scanner can be configured with the proper bar code symbologies. Only if you copied 6400_TSR.EXE from Client directories should you add the following line: 6400_tsr For all flavors, add the following line to position the terminal's viewport in the top left corner: 6400disp top If you are running the serial flavor of the Client, then add a line to EM.BAT that is similar to: etspb -aB -b19200 -dINTERMEC6400 Change the -a (address) and -b (baud rate) parameters as appropriate for your configuration. If you are running the TCP/IP flavor of the Client, then instead add a line to EM.BAT that is similar to: etspt -dINTERMEC6400 -h1.2.3.4,7500 Change the -h (host PC) parameter to use the IP address of the DCConnect Server. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add the following line to reposition the terminal's viewport back in the bottom left corner: 6400disp bottom 10) If you are not using the serial flavor of the Client, skip this step. If you have more than one serial attached terminal in your network you must make sure that the -a parameter for the call to ETSPB (in EM.BAT) is unique for every terminal in the network. To make this easier, you could create a batch file (and we recommend you do) that takes as a parameter the terminal address letter and generates the EM.BAT file for you and then loads all files to the 6400 terminal, provided the cabling is set up and 6400.BAT has been run on the terminal. The following steps can accomplish all this: a) First we have to take the EM.BAT that you just set up and split it up into parts. Create a file called EM.1ST and copy into it all lines from EM.BAT starting at the beginning of the file and going up to but NOT including the line that has the call to 'etspb'. b) Create another file called EM.2ND and copy into it all lines from EM.BAT starting with the line after the one with the call to 'etspb' and going to the end of the file. c) Create a batch file called LOAD6400.BAT in the directory C:\6400LOAD that contains the following (be sure to use the baud rate that is appropriate for your network): @echo off if "%2" == "" goto needparm copy em.1st em.bat echo etspb -a%2 -b19200 -dINTERMEC6400 >> em.bat copy em.bat+em.2nd em.bat echo . echo . Be sure the 6400 is attached to the PC with a null-modem cable. echo . echo . Then run 6400 from the C: drive of the 6400. echo . echo . After you have done that, press Enter to begin the transfers. pause >nul xcopy *.* %1\ /v echo All files have been transferred. Please reboot the terminal. goto end :needparm cls echo . echo . You must enter the drive letter that maps to the terminal's echo . C: drive and you must enter terminal's address (A-Y, 0-6). echo . For example: echo . echo . load6400 e: B echo . :end d) In the next step, you will run this batch file and provide two parameters. The first is the drive letter on the PC that is mapped to the 6400's C: drive. If you don't know what that is, run INTERLNK on the PC after the terminal is serially attached to the PC and you have started 6400.BAT on the terminal. The second parameter to LOAD6400.BAT is the terminal's address (A-Y, 0-6) which will be inserted into EM.BAT before the terminal is loaded. 11) All files should now be set up properly in the C:\6400LOAD directory. In order to load the terminal, you must first connect it serially to the PC, using a docking station or communications adapter and a null-modem cable. Then run 6400.BAT from the terminal. On the DOS PC, be sure you have booted with the INTERLNK statement in CONFIG.SYS and make sure the current directory is C:\6400LOAD. If you created LOAD6400.BAT in either step 4 or step 10 above, you can load the terminal now by running LOAD6400.BAT and specifying the parameters described above in those steps. If you have not set up LOAD6400.BAT, all files from C:\6400LOAD can be transferred to the terminal's C: drive using one of the methods described above in Transferring Files to a 6400 Terminal. Using the DCConnect Client on Intermec 6540 (or MaxiLAN DX) Terminals --------------------------------------------------------------------- This section describes what additional configuration must be done when using the Client on an Intermec 6540. The 6540 is the new improved follow-on to the Intermec/UBI MaxiLAN DX terminal. For the most part, the way both of these terminals are used by the Client is the same. The rest of this document will discuss things in terms of the 6540 while noting, where necessary, whenever the instructions would be different for the MaxiLAN DX terminal. Since you can only get new 6540 terminals and cannot get new MaxiLAN terminals anymore, any discussion about new terminals and their default configurations apply specifically to the 6540 terminals. For more detailed information about using 6540 terminals please refer to the following sections: - Hardware and Software Requirements for 6540 Terminals - Drive Arrangement on 6540 Terminals - Transferring Files to a 6540 Terminal - 6540 CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - 6540 Bar Code Configuration - Serial Port Use on the 6540 Terminal - Parallel Port and Digital I/O Use on the 6540 Terminal - Starting the Client on a 6540 Terminal - Setting Up a 6540 Terminal from Scratch Hardware and Software Requirements for 6540 Terminals ----------------------------------------------------- For TCP/IP-attached, 6540 terminals, no additional hardware is required. The required FTP Software TCP/IP stack can be purchased as a 6540 option from Intermec, or it can be obtained from FTP Software directly. If purchased from Intermec, the terminal is shipped with the necessary drivers installed. If 6540 terminals are to be attached serially in an RS-485 network, then an ISA RS-485 adapter must be installed in the terminal as COM1 or COM2. Contact Intermec for information about supported RS-485 adapters. We actually tested with an OPTO-422 adapter; however, the one we used is no longer available. No additional software is required for serially-attached 6540 terminals. Drive Arrangement on 6540 Terminals ----------------------------------- The drive arrangement for 6540 / MaxiLAN DX terminals is different based on the model. Here is a summary of the models supported by the Client: For the 6540 model DFB (MaxiLAN DX 100): A: drive is a ROM disk; the contents of this drive cannot be changed. B: drive is a 512K flash disk that can provide permanent non-volatile storage (does not require battery backup). This drive can be write-protected if needed. For the 6540 model DSB (MaxiLAN DX 200S): A: Same as for model DFB (MaxiLAN DX 100) B: Same as for model DFB (MaxiLAN DX 100) C: drive is an SRAM disk ranging from 512K to 1.5MB depending on the feature that is ordered. It works just like an ordinary hard disk, with the exception that permanent data storage requires a battery backup (which is provided with the terminal). For the 6540 model DHB (MaxiLAN DX 200H): C: drive is the only drive and it is a conventional PC harddrive. It comes in sizes of 1GB or more. Because it is a conventional PC drive, it is non-volatile storage. The Client must run on a writable drive so that transactions that are generated can be preserved through shutdown of the Client and power down of the terminal. It is also preferred that the writable drive be non-volatile so that its contents are preserved even if all battery power is lost. Therefore for models DFB and DSB (100 and 200S) drive B: is the preferred target drive. For model DFB (100) you have no other choice. For model DSB (200S) drive C: could be used; the only drawback is the very small possibility of losing its contents should the backup battery be completely drained when the unit is powered off. On the model DHB (200H) the only available drive (C:) is writable and non-volatile so it satisfies the desired criteria. For simplicity, all examples in this documentation will use drive B: since we expect the models DFB and DSB will be more commonly used than model DHB. But if drive C: is the drive you will be using you should substitute C: for most uses of B: in the examples. One exception to this is that references to B:USER.BAT and B:USERCONF.SYS cannot be changed to the C: drive. IMPORTANT NOTE: While the model DFB (100) is supported, be aware that drive B: is 512K bytes. Whether you are running the serial or TCP/IP flavor of the Client, all files required by the Client should fit into this space. In some cases you may need to remove some preloaded files that aren't needed by the Client. Files that are not required by the Client are listed here with their approximate sizes in bytes: TN.EXE 267K RLOGINVT.EXE 98K TFTP.EXE 24K PING.EXE 23K All of the above are in the B:\PCTCP directory of terminals that are preloaded with FTP Software's network drivers. Transferring Files to a 6540 Terminal ------------------------------------- The 6540 Getting Stated Guide describes how to transfer files between a PC and the 6540. In short, it involves the use of a null modem cable to attach one of the 6540 serial ports to a PC serial port and the use of two serial transfer programs - one that runs on the PC that talks to one that runs on the 6540. The 6540 provides two utilities for transferring files: 1) TRANSFER.EXE - This utility allows the transfer of individual files between the PC and the 6540. It can be used on 6540 and MaxiLAN DX terminals. The terminal ships with this utility already installed. The PC version of TRANSFER.EXE is found on the 6540 Utility diskette in the A:\ROM-DOS directory. This runs not only in a true DOS system but also in a DOS window of OS/2 or Windows/NT. The TRANSFER.EXE runs on the terminal and communicates with the TRANSFER.EXE program that runs on the PC. We usually start the receiving side first, but it should work either way. The syntax of the command is slightly different depending on which end of transfer the PC or 6540 is on. If sending a file from the PC to the terminal, then on the terminal enter: TRANSFER /COM1 /R /B38400 filename and on the PC enter: TRANSFER /COM1 /S /B38400 filename If sending from the terminal to the PC, then switch the commands. The 'filename' parameter for the sender is the name of the existing file in the current directory. The 'filename' parameter for the receiver is the name of the file that will be created in the current directory of the receivers machine. If you have many files to transfer it is recommended that you create a zip file using a compression utility such as PKZIP and then transfer the zip file and an uncompress utility (e.g. PKUNZIP) to the terminal. Or use a self-extracting executable so that PKUNZIP.EXE does not need to be transferred. WARNING: The TRANSFER utility will sometimes append extra characters to a file during the transfer. It seems to pad out the file size so that it is a multiple of 128 bytes of data. In some cases, the extra characters may cause a problem for the program that uses the file. For example, we have experienced the PCTCP.INI file being corrupted to the point where the ethernet drivers did not start. We found two ways to get around this problem: a) We transferred the file in a zipped file and then unzipped it on the 6540. If you can create a self-extracting zip that would be better. b) If we added a bunch of lines of comments at the end of the file, the padding did not seem to cause a problem for the ethernet drivers any more. It seems if the comments bring the file size to something greater than 1024 bytes then the ethernet drivers do not have a problem. In order to accomplish this we added 10 lines of comments to the file! But this is simpler than zipping and unzipping the file. 2) REMSERV.EXE / REMDISK.EXE - These utilities are different from the TRANSFER utility because they allow the PC to see one of the 6540 drives as an extra drive on the PC. Once they are set up this way, all copy operations can be performed on the PC. Files are copied to or from the 6540 drive as if that drive were simply another PC drive. IMPORTANT NOTES: 1) REMDISK will not run in a DOS window of OS/2 or Windows/NT. So unless you have a DOS PC or DOS bootable diskettes, you will probably need to use the TRANSFER utility instead. 2) These utilities can only be used if the 6540 BIOS is version 3.0 or newer. 3) These were not provided with and cannot be used with MaxiLAN terminals. REMSERV.EXE runs on the 6540 and it is pre-installed on the terminal when the terminal ships. When you run the utility, you specify which drive you want to give access to from the PC. For example: REMSERV B: REMDISK.EXE runs on a DOS PC and it can also be found on the 6540 Utility diskette in the A:\ROM-DOS directory. You simply type REMDISK at the DOS prompt. If it starts up and is able to communicate with REMSERV on the terminal, then it will stay loaded in memory and return to the DOS prompt. It will also tell you which drive it has mapped to the 6540 drive. It will be a new drive letter, one that was not accessible prior to running REMDISK. Once REMDISK has set everything up, you can then copy files to and from the mapped drive as if it was a PC drive. Note that REMSERV should be started on the terminal before REMDISK is run from the PC. If files are to be transferred to the B: drive, you must make sure that write-protection for that drive is removed before starting the transfer. The 6540 Getting Started Guide describes how to use the SSDRIVE.EXE utility to add and remove write-protection from the drive. To remove write-protection from the drive, issue the following command from the 6540: SSDRIVE B: -U To write-protect the drive: SSDRIVE B: -W The SSDRIVE utility can also be used on the SRAM C: drive. 6540 CONFIG.SYS, AUTOEXEC.BAT and Network Configuration ------------------------------------------------------- The 6540 comes with DOS on a chip for models DFB and DSB or on the harddrive for the model DHB. The location and contents of the CONFIG.SYS and AUTOEXEC.BAT are different depending on the model: - For models DFB and DSB (MaxiLAN 100 and 200S): - AUTOEXEC.BAT is on the read-only drive A: and it always has the following contents: REM AUTOEXEC.BAT VER 3.03 PATH A:\;B:\;C:\; PROMPT $P$G B:USER.BAT Notice that at the end, USER.BAT is called from B: drive. Since A: drive can't be changed, any statement that would normally go into AUTOEXEC.BAT must be put into USER.BAT on the B: drive; thus USER.BAT is really an extension of AUTOEXEC.BAT. - USER.BAT will not exist (or will have nothing special in it) if network drivers are not preinstalled on the 6540. However, if the FTP Software drivers are preinstalled, USER.BAT will probably have the following statements: SET PATH=B:\PCTCP;%PATH% *1 b:\pctcp\epktisa.com 0x60 0x300 *2 SET PCTCP=b:\pctcp\pctcp.ini *3 b:\pctcp\ethdrv A few notes about the above: 1) EPKTISA.COM is the low-level 6540 packet-driver. It can also be found in the A:\PCKTDRVR directory of the 6540 Network Drivers diskette. The 0x60 and 0x300 parameters for the first line respectively specify the interrupt to use and I/O address to use. 2) The PCTCP environment variable is set to point to the PCTCP.INI file to be used for the ethernet configuration. PCTCP.INI is where you will specify the terminal network parameters such as its IP address. This file is discussed later in this section. 3) ETHDRV.EXE is the higher-level ethernet driver that comes from FTP Software. If network drivers were not preinstalled in the 6540, this file must be obtained from FTP Software PC/TCP Network Kernel for DOS product. Refer to Installation Hints for the FTP Software TCP/IP Stack. If there are any other statements that need to be added that would normally go into AUTOEXEC.BAT, they should be added to the end of USER.BAT. For example, you'll probably want to add the following statements to ensure the B: drive is unlocked, make it the current directory and then call the Client batch file: SSDRIVE B: -U B: CALL EM.BAT A discussion of the contents of EM.BAT can be found in the section Setting Up a 6540 Terminal from Scratch. - CONFIG.SYS is also on the read-only drive A: and it always has the following contents: REM CONFIG.SYS VER 3.03 DEVICE = SSDRV.SYS /F DEVICE = SSDRV.SYS /S NEWFILE = B:\USERCONF.SYS Notice that at the end, B:\USERCONF.SYS is 'called' from the B: drive. In the same way that USER.BAT is an extension of AUTOEXEC.BAT, USERCONF.SYS is an extension of CONFIG.SYS. Any statement that would normally go into CONFIG.SYS must be put into USERCONF.SYS on the B: drive because the A: drive is read-only. The SSDRV.SYS device statements are needed for the SRAM drives B: and C: - USERCONF.SYS will always have the following statement so that DOS can work properly: SHELL=B:\COMMAND.COM /P No other statements are needed for network support or for use of the Client. - For model DHB (MaxiLAN 200S): - Because this model has just a C: drive and that is a standard harddrive, AUTOEXEC.BAT is used in the normal way; there is no USER.BAT or a need for one. At a minimum, AUTOEXEC.BAT will have the following: SET PATH=c:\;c:\dos; If network drivers are pre-installed, the path statement will be changed to: SET PATH=c:\;c:\dos;c:\PCTCP; and the following statements for network drivers are added: *1 c:\pctcp\epktisa.com 0x60 0x300 *2 SET PCTCP=c:\pctcp\pctcp.ini *3 c:\pctcp\ethdrv For more information about what these statements do, please see the discussion of USER.BAT above. - No default CONFIG.SYS is provided for the model DHB; nor is any needed - even if network drivers are installed. If you need to add any statements, you can create a CONFIG.SYS on drive C: and it will be used as it is on a regular DOS PC. There is no need for USERCONF.SYS either. The discussion above focused on the 6540s CONFIG.SYS, AUTOEXEC.BAT, USER.BAT and USERCONF.SYS files. Should you have a MaxiLAN DX terminal instead of a 6540 terminal, you might find the following differences, among others: 1) All models of the MaxiLAN DX terminals included a call to LTDSPLY in AUTOEXEC.BAT or USER.BAT for support of the LCD display. For all models of the 6540, the BIOS loads this driver. 2) The set of network drivers that are used may be different. These may include the following which go into CONFIG.SYS or USERCONF.SYS PROTMAN.DOS ENDS2ISA.DOS DIS_PKT.GUP and the following which go into AUTOEXEC.BAT or USER.BAT: NETBIND.COM ETHDRV.EXE and PCTCP.BAT may be set up to call the above. Please refer to the MaxiLAN documentation for more specific information about how to install these drivers. Whether you are using a 6540 or MaxiLAN terminal, if the terminal will be on the ethernet, you'll need to set up the PCTCP.INI file. This file is in the \PCTCP directory on either the B: or C: drive. This file should be the same for all terminals in your network except for the IP address. Below are selected sections of the PCTCP.INI that we used during our testing, with notes to the right about what needs to be changed: [pctcp ifcust 0] ip-address = 99.99.99.7 ; Unique for each terminal subnet-mask = 255.255.240.0 ; Change this for your site interface-type = PKTDRV ; Required frame-type = DIX-Ethernet ; Required [pctcp general] etc-dir = c:\pctcp\etc router = 99.99.99.1 ; Change this for your site name-resolution = dns time-zone-name = EST time-zone-offset = 300 [pctcp kernel] interface = ifcust 0 ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption For information about the possible need for entries for authentication-key and serial-number, see Authentication Key and Serial Number Entries in the .INI file. WARNING: Refer to the section above, Transferring Files to a 6540 Terminal for a warning about the possibility of file corruption when this file is transferred to the terminal. In our testing we found that if ten long lines are added to the end of the file, then the transfer process does not corrupt any important parts of the file. 6540 Bar Code Configuration --------------------------- When using the 6540 terminal, configuration of the bar codes is not done using the information that might be downloaded from a data collection server (e.g. DCConnect). Instead, Intermec provides two different ways to do it. Regardless of which method is used, the following kinds of bar code parameters can be configured: - Active bar code symbologies and optional parameters for each. - Tone of speaker when bar code is read. - Speaker volume and tone combinations. - Preamble and postamble for bar codes. If using the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI (see above), you need to define both a preamble and postamble. If not using that keyword, it is suggested that single carriage return character be configured as the postamble so that the Enter key does not have to be pressed after a bar code is scanned. However, as you'll read below, if the MAXCONF2 utility is used, you'll need a preamble and postamble in all cases. Here are the two methods for configuring the 6540 bar codes: 1) A utility called MAXCONF2.EXE can be run on a PC to generate a bar code configuration file that can be downloaded to all of your 6540 terminals. The utility includes an option to transmit the bar code configuration file to the terminal. This utility will run in a DOS window of OS/2 or of Windows/NT. Once the bar code configuration file and a second utility, called MAXILOAD.EXE, are transferred to the terminal, the MAXILOAD utility can be run to configure the 6540 terminal bar codes from the configuration file. Both MAXCONF2.EXE and MAXILOAD.EXE can be found on the Utility diskette in the A:\CONFIG diretory. The use of these utilities is described in the 6540 Getting Started Guide. 2) The terminal's bar code configuration can also be set up directly from the 6540 Getting Started Guide by scanning various bar codes in Appendix D. That appendix describes the order in which the bar codes should be scanned. The advantage to method 1 is that you can set up the configuration once on your PC and save it to file and then distribute that file to all terminals. Unfortunately there is an anomaly that results with the use of the MAXCONF2 utility that requires some scanner slight-of-hand to work around. It seems that when configuring the terminal using MAXCONF2 you are forced to choose a 'bar code ID' character that will be prepended to every scanned bar code. This character is unique based on the symbology. You have a choice of a character from 'A' through 'O' for each symbology that will be active. Whenever a bar code is scanned, the first character received is the bar code ID character. Following that is the preamble string, if any, then the data that was scanned followed by the postamble string, if any. The extra bar code ID character poses a problem for the Client because this looks like keyboard input to the Client - even when SCAN_SENTINEL_CHARS are being used. To get around this problem you can configure the preamble to start with a Backspace character. This causes the Client to see the bar code ID character followed immediately by a backspace - the net effect of which is that nothing was typed. So when using MAXCONF2 you will need to configure the preamble as follows, depending on whether or not SCAN_SENTINEL_CHARS are being used: - If SCAN_SENTINEL_CHARS are not being used, you will need to configure a preamble that consists of just the Backspace character. - Otherwise, the preamble string must consist of two characters; the first is the Backspace character and the second is whatever you need. See the section above about Keyword: SCAN_SENTINEL_CHARS for more info. Note: When defining the preamble character using the MAXCONF2 utility, the Backspace character can be selected by pressing the Down arrow to highlight the 'Control codes chart' option and then pressing Enter. Press the down arrow to highlight the first option in the second row (BS) and press the Enter key. Using the Backspace in the preamble to erase the bar code ID character works well with the standard transaction program READ command - even with numeric- only input. If you are using CFRs, the extra bar code ID character and backspace character may cause problems depending on how the code is written. The CFR must take the following into account: - Anywhere the CFR has a call to SenRead() to get scanned input, there will also need to be a call to KbdReadAscii() to flush out the extraneous bar code ID character and the backspace character. If this is not done, those characters will remain in the keyboard buffer and will probably show up as input for other fields or could even start a transaction program unexpectedly (e.g. the 'A' character might start the program bound to F1). - If the CFR is already calling KbdReadAscii() and SenRead() in the same loop there probably won't be anything more to do if backspaces are being processed. However, if certain keyboard characters have special meaning such as 'E' to end, 'N' for next, ... (which might be the case when only numeric input is being looked for) then when you run the MAXCONF2 utility, you have to be sure to pick a bar code ID character that is not one of those with special meaning. If you want to avoid the challenges that MAXCONF2 presents, you can just use the bar codes in the 6540 Getting Started Guide to configure the terminal. The problem with the leading bar code identifier does not exist when using the bar codes in the Guide, but you will have to configure every terminal by hand. Serial Port Use on the 6540 Terminal ------------------------------------ The serial port on the 6540 terminal can be used not only for transferring files to the terminal, but it can be used by the Client to communicate with devices such as a serial printer or a scale. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of over the ethernet. If one of the built-in RS-232 ports is to be used, then nothing more needs to be done. Intermec does not support the addition of an RS-485 adapter to the 6540 terminal even though this used to be an option with the MaxiLAN DX terminal. Parallel Port and Digital I/O Use on the 6540 Terminal ------------------------------------------------------ While the 6540 terminal has a parallel port and the capability to add a Digital I/O adapter, the Client does not currently support access to the parallel port or Digital I/O from transaction programs or CFRs. Starting the Client on a 6540 Terminal -------------------------------------- The drive on which the Client should run depends on the model of the 6540 being used. The Client requires writable, non-volatile storage so that its transaction logfile can be properly written to and be properly preserved through any loss of power. Drive A: is never a choice because it is a ROM (read-only-memory) Disk. For model DFB, drive B: must be used. For model DSB, either drive B: or C: could be used; however, drive B: is non-volatile storage and drive C: requires a backup battery for preserve its contents. Therefore, it is probably preferable to use drive B: for non-volatile storage of transactions. For model DHB, there is only a drive C: and it is a standard hard drive thus it provides non-volatile storage. After you have determined which drive should be used, the Client and the file ETSCHECK.LIC should be copied to that drive along with any configuration file(s). If desired, all of these files could be copied to a subdirectory instead - but they must all be in the same directory. If using the Intermec 6540 then the following 'device' command line parameter must be used when starting the Client: -dINTERMEC6540 However, if you are using a MAXILAN DX terminal, the the following command line parameter should be used instead: -dMAXILAN For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a 6540 Terminal from Scratch --------------------------------------- This section describes suggested steps to take an out-of-the-box 6540 terminal and set it up so that the Client can run on it. These instructions were developed from a 6540 that we tested with. Since you can't get a new MaxiLAN we have no way of knowing how an out-of-the-box MaxiLAN might look and chances are you won't need to know either. The instructions below are for either a model DFB or DSB 6540 and they set up all files on the B: drive. If you have a model DHB, references to the B: drive would be changed to C: and the out-of-the-box configuration would have more files - most of them associated with DOS. The 6540 models DFB and DSB always contain the following files on drive A: AUTOEXEC.BAT CONFIG.SYS COMMAND.COM REMSERV.EXE SSDRV.SYS SSDRIVE.EXE Since drive A: is read-only, none of these files can be changed. The 6540 models DFB and DSB always contain the following files on drive B: USER.BAT USERCONF.SYS If you ordered 'PC/TCP Network Kernel for DOS from FTP Software' as a feature of the 6540 terminal then drive B: would have a directory called B:\PCTCP containing the following additional files: EPKTISA.COM PCTCP.INI ETHDRV.EXE PING.EXE TFTP.EXE TN.EXE RLOGINVT.EXE On model DSB, RLOGINVT.EXE is found on drive C: instead. Although using REMSERV.EXE / REMDISK.EXE is an easier way to copy files to and from the terminal they require a true DOS environment on the PC side. The TRANSFER.EXE utility is harder to use but it will work in a DOS window of OS/2 or Windows/NT - which is where we assume most people will be trying to set up their terminals from. So the instructions below will only use the TRANSFER.EXE utility for getting files to and from the terminal. Batch files will be set up on both sides to make this a mostly automated process. 1) To start, create a directory on your PC for collecting all the files that will be transferred to the B: drive of the 6540. This example will use C:\6540LOAD. Copy into that directory, the TRANSFER.EXE utility from the A:\CONFIG directory of the 6540 Utility diskette. 2) Transfer from the 6540 to the C:\6540LOAD directory, the USER.BAT batch file on drive B: If you have the drivers from FTP Software preinstalled, then transfer the PCTCP.INI file from B:\PCTCP to C:\6540LOAD. For help on using the TRANSFER.EXE utility, see the section above called Transferring Files to a 6540 Terminal. 3) If you are using the TCP/IP flavor of the Client and you purchased the PC/TCP Network Kernel for DOS directly from FTP Software then you will need to copy the necessary drivers to C:\6540LOAD: a) Copy ETHDRV.EXE from the PC/TCP diskettes. For information about where to find this, see Installation Hints for the FTP Software TCP/IP Stack. b) Copy EPKTISA.COM from the A:\PCKTDRVR directory of the 6540 Network Drivers diskette. c) You'll also need to create PCTCP.INI like the one described in the network configuration section above. 4) Make the following changes to USER.BAT: a) If you are using the TCP/IP flavor of the Client and you purchased the PC/TCP Network Kernel for DOS directly from FTP Software then you will need to add the following statements: B:\PCTCP\EPKTISA.COM 0X60 0X300 SET PCTCP=B:\PCTCP\PCTCP.INI B:\PCTCP\ETHDRV If PC/TCP was preinstalled, you should already have these statements. b) Add the following statement to ensure that drive B: can be written to: SSDRIVE B: -U c) Add the following statement to automatically start up the Client whenever the terminal is rebooted: CALL EM 5) If using the TCP/IP flavor of the Client, set up the PCTCP.INI file like the one described in the network configuration section above. The only parameters you should have to change are the 'subnet-mask', 'router', and 'ip_address'. The first two of these will probably be the same for all terminals. The 'ip_address' will be unique for each terminal. Later on we'll be setting up batch files for loading the 6540 with all the necessary files. To automate things as much as possible, we'll set up that batch file to generate PCTCP.INI based on a command line parameter that specifies the IP address and two files that are the parts of PCTCP.INI that come before and after the 'ip-address' statement. From the PCTCP.INI file that you have created, copy the first line to a file called PCTCP.1ST in the C:\6540LOAD directory. It should look like this: [pctcp ifcust 0] Copy the rest of the file, after the line for 'ip_address' to a separate file called PCTCP.2ND. It should look like this: subnet-mask = 255.255.240.0 ; Change this for your site interface-type = PKTDRV ; Required frame-type = DIX-Ethernet ; Required [pctcp general] etc-dir = b:\pctcp router = 99.99.99.1 ; Change this for your site name-resolution = dns time-zone-name = EST time-zone-offset = 300 [pctcp kernel] interface = ifcust 0 ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption ; Add these ten lines to the end of the file to thwart the corruption Later on when the batch file is set up, these two parts of the file will be combined with a line generated from the batch file echo command for the 'ip_address' parameter. The end result will be a complete PCTCP.INI file that is unique for the terminal you are loading. 6) If you will be configuring the barcodes for the 6540 using a configuration file generated from MAXCONF2, then you must do the following things: a) Copy the following files from the A:\CONFIG directory of the 6540 Utility diskette to the C:\6540LOAD directory on the PC: MAXILOAD.EXE MAXCONF2.EXE CONF2.DOC The first one will be loaded to the terminal later; the others are needed to run MAXCONF2 on the PC. b) Run the MAXCONF2.EXE utility to configure your barcodes, preamble, postamble, ... Save the configuration using the name BARCODES (the utility will automatically add an extension of .CFG when it saves the file). For more information about how to use the MAXCONF2 utility and, in particular, how the preamble and postamble strings must be set up, see 6540 Bar Code Configuration. c) Create a file called BARCODES.IN in the C:\6540LOAD directory on your PC that contains the following lines: 1 BARCODES This will be used as input to the MAXILOAD utility when it runs on the 6540 so that user intervention is not required. The first line causes option 1 to be selected for configuring the terminal. The second line gives the name of the bar code configuration file without the .CFG extension. 7) Now copy the following files from where the Client is installed to the C:\6540LOAD directory on your PC: ETSCHECK.LIC If using the serial flavor of the Client: SERIAL\ETSPB.EXE If using the TCP/IP flavor of the Client: TCP_FTP\ETSPT.EXE 8) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you are using an 8 line terminal then you will need to add the parameter NUM_ROWS = 8 to override the default value of 4 which is assumed for the 6540 device. If you decide you need this file, create it in the C:\6540LOAD directory on your PC. 9) The last Client specific file to create is EM.BAT. Remember that in step 4 above USER.BAT was changed to call EM.BAT at the end. This file will have different contents depending on what flavor of the Client you are running and what device you are using. For all flavors, you should start with the following two lines: b: cd \ to make sure the Client is running from the right drive and directory. If you will be configuring the barcodes for the 6540 using a configuration file generated from MAXCONF2, then add the following line: maxiload < barcodes.in If you are running the serial flavor of the Client, then add a line to EM.BAT that is similar to: etspb -aB -b19200 -dINTERMEC6540 Change the -a (address), -b (baud rate) and -d (device) parameters as appropriate for your configuration. If you are running the TCP/IP flavor of the Client, then instead add a line to EM.BAT that is similar to: etspt -dINTERMEC6540 -h1.2.3.4,7500 Change the -d (device) and -h (host PC) parameters as appropriate for your configuration. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add a call to clear the screen: cls This is sometimes needed to restore the display to its original state after you exit the Client. 10) All files that are required are now set up, except for the batch files that do the actual transfer. The batch file that runs on the terminal will also ensure that unnecessary files are deleted to make room for all files that will be transferred. The batch file that runs on the terminal will be called 6540RECV.BAT and the the one that runs on the PC will be called 6540SEND.BAT. Shown below is a sample 6540RECV.BAT that would be used to receive the files needed for a 6540 preloaded with network drivers. There are lots of variations based on what files your installation needs: REM Change to B: drive and remove write-protection b: ssdrive b: -u REM Change to network directory, remove extra files and transfer REM in the PCTCP.INI file cd \pctcp if exist tn.exe del tn.exe if exist rloginvt.exe del rloginvt.exe if exist tftp.exe del tftp.exe transfer /r /com1 /b38400 pctcp.ini REM Go back to the root directory and transfer the rest of the files cd \ transfer /r /com1 /b38400 user.bat transfer /r /com1 /b38400 etscheck.lic transfer /r /com1 /b38400 etspt.exe transfer /r /com1 /b38400 emulator.ini transfer /r /com1 /b38400 etscfg.tcp transfer /r /com1 /b38400 em.bat transfer /r /com1 /b38400 maxiload.exe transfer /r /com1 /b38400 barcodes.in transfer /r /com1 /b38400 barcodes.cfg echo All done. Please reboot the terminal. Working in conjunction with the receive batch file above is the 6540SEND.BAT that runs on the PC. To remove some of the redundancy for the commands that are used in transferring a file, we created a small batch file XFER.BAT that is called by 6540SEND.BAT for most transfers: transfer /s /com1 /b38400 %1 REM The following line puts the cursor back in column 1 on the next line echo T The contents of 6540SEND.BAT are as follows: @echo off if "%1" == "" goto needparm copy pctcp.1st pctcp.ini echo ip-address = %1 >> pctcp.ini copy pctcp.ini+pctcp.2nd pctcp.ini echo . echo . Be sure the 6540 is attached to the PC with a null-modem cable. echo . echo . Then run 6540RECV from the B: drive of the 6540. echo . echo . After you have done that, press Enter to begin the transfers. pause >nul call xfer pctcp.ini call xfer user.bat call xfer etscheck.lic call xfer etspt.exe call xfer emulator.ini call xfer etscfg.tcp call xfer em.bat call xfer maxiload.exe call xfer barcodes.in call xfer barcodes.cfg echo All files have been transferred. Please reboot the terminal. goto end :needparm cls echo . echo . You must enter the terminal's IP address. For example: echo . echo . 6540send 99.99.99.7 echo . :end As was mentioned your configuration may require some additional files to be transferred or perhaps fewer files. If that is the case, then be sure to add/delete the transfer statement for that file from both batch files and make sure the order of transfers is the same in both files. 11) Now that the batch files are set up, you have to get the 6540RECV.BAT file into the 6540 using the TRANSFER.EXE utility. You may need to remove write-protection for B: drive before transferring the file if this is the first time using the terminal. If that is the case enter the following command on the 6540: ssdrive b: -u Now you can transfer the batch file. Make the root directory of the B: drive the current directory on the 6540 and enter the following command: transfer /r /com1 6540recv.bat And on the PC enter the following command from the C:\6540LOAD directory: transfer /s /com1 6540recv.bat 12) Once 6540RECV.BAT is in the terminal you can run 6540SEND on from the C:\6540LOAD directory on the PC and it will tell you when to run 6540RECV on the terminal. When that process completes, reboot the terminal and make sure it works as expected. Once 6540RECV.BAT is in the terminal, you should not have to reload it unless you change the set of files that are needed in the terminal (which of course requires a corresponding change in 6540SEND.BAT). If the set of files has changed, then you must repeat step 11 to update that file in the terminal and then do step 12 again. But if you are just updating configuration files that are already in the terminal or if you have a new version of the Client, then you just have to update those files in the C:\6540LOAD directory and run 6540SEND to have them updated in the terminal. Using the DCConnect Client on Intermec's Trakker Antares Line of Terminals -------------------------------------------------------------------------- This section describes what additional configuration must be done when using the Client with one of the Intermec Trakker Antares terminals. There are several different models of Antares, in all shapes and sizes, but they all have the same architecture; so the way the Client works with one is the way it works with all of them. A list of many Antares models is given above in, Using the DCConnect Client with non-IBM Data Collection Terminals. For the remainder of this document, the term 'Antares' will be used to refer to all of the different models collectively. For more detailed information about using Antares terminals please refer to the following sections: - Hardware and Software Requirements for Antares Terminals - Drive Arrangement on Antares Terminals - Using the Antares Menus and the SETUPANT.EXE Utility - Transferring Files to an Antares Terminal - Loading DOS files to an Antares Terminal - Loading Intermec flash to an Antares Terminal - Antares CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - Antares Bar Code Configuration - Serial Port Use on the Antares Terminal - Digital I/O Use on the Antares Terminal - Starting the Client on an Antares Terminal - Setting Up an Antares Terminal from Scratch Hardware and Software Requirements for Antares Terminals -------------------------------------------------------- Here is a summary of the points made in this section: - Adding more than the 2MB of base RAM is not necessary nor will it help - Antares have less RAM available than most terminals. But using the FILE_PAGING option in EMULATOR.INI can alleviate space issues - Antares terminal is loaded serially, so appropriate dock/adapter/cables needed - Terminal must be loaded with DOS, use special options when ordering to specify DOS - Must specify TCP/IP connectivity option - not UDP Plus - Intermec DCS 300 Controller is not needed nor will it help - DCConnect must be at fix pack C for version 1.40 or later The basic configuration for the various Antares models is sufficient for the Client to be able to run on the terminal. Therefore a terminal with 2MB flash and no SRAM drive will work. The Antares terminal has less RAM available for the downloading of files and storage of transaction programs than most of the other devices have. There are about 89,000 bytes of RAM space available once the Client (as of version 1.41I) is started - which should be sufficient for most configurations. Note 1: 89,000 bytes is available if MAX_TRANSACTIONS is set to 10 and NUM_PF_STRINGS and NUM_TOUCH_STRINGS are both set to 0 using EMULATOR.INI. Note 2: As new features are added to the Client, the size of the executable will increase which in turn reduces the amount of RAM available for files that need to be downloaded from the DCConnect Server. As of version 1.40T of the DCConnect Client, a new feature has been added to allow the Antares to handle downloads that are larger than the RAM space available. This is done by loading files to disk and then paging them in and out of memory as required by the operations being performed by the terminal user. This new feature can be activated using the FILE_PAGING keyword in EMULATOR.INI For more information, please see Keyword: FILE_PAGING. In order to load the Client files on to the Antares terminal, a serial connection is required from the terminal to a PC. Therefore, depending on the terminal type, you may need a special serial cable, serial adapter or docking station in order to make the connection. Here's what you need by terminal model using part numbers from the 1999 price guide (check with Intermec for any additional options that these selections might require such as power supply or power cords): - 241x: 6 foot 16pin-9pin RS232 cable (069589) or 6 inch serial adapter (069591) or Communications dock (TD2410A) - 242x: Serial adapter (064021) or Communications dock (TD2400A) - 2455: Null modem cable (066847) - 246x: Already includes a standard 9pin male RS232 connector - 248x: Already includes a standard 9pin male RS232 connector In order for the Client to run on the Antares terminal, the terminal must be loaded with the DOS program files. Antares versions 6.12 up to but not including version 6.20 included the necessary DOS files. However, starting with version 6.20, Intermec stopped automatically including the DOS files with their flash load to limit the royalties they had to pay. To ensure that the terminals include the DOS files when they are shipped by Intermec, certain options have to be specified for the order category that is called 'Configuration Software and Keyboard Overlay' or 'Keypad & Software Options'. The following table gives the appropriate option to specify for several Antares terminal models: Antares Model Option to Order ------------- --------------- 2415 02 2425 11 2455 B 248x J If terminals are received without the DOS files, you will need to contact Intermec Support in order get those DOS files so that you can load them. It is also possible for a terminal that was shipped to Intermec for service to be reflashed by Intermec without including the DOS files. If this happens and you do not have the DOS files somewhere else, you will have to contact Intermec Support to get the files. As a last resort, if another terminal you have has the DOS files, it is possible to upload those files to a PC using the T24FCOPY utility that is included with the DCConnect Client. For information about using this utility, please see the second half of Transferring Files to an Antares Terminal. If you ever have to load the terminal with DOS files, the best way to do this is to incorporate them into the loading of the DCConnect Client files. For information about how to do this, please see Loading DOS files to an Antares Terminal. On Ethernet and RF Antares terminals, the architecture includes specialized drivers for handling TCP/IP communications. As a result, it is not necessary (nor would it work) to install another TCP/IP stack on the terminal. The TCP/IP flavor of the Client uses a TCP/IP stream socket to communicate with the data collection server (such as DCConnect); it does not use UDP Plus. Therefore you will not be using an Intermec DCS 300 controller for Antares terminals that are communicating with the DCConnect Server. Since TCP/IP will be used instead of UDP Plus, when ordering an Ethernet- attached or RF Antares terminal, be sure to specify TCP/IP for the Connectivity Software option. Do not specify UDP Plus. Because a stream socket is used by the Antares terminals, DCConnect had to be enhanced to support TCP/IP stream sockets. All other terminals supported by DCConnect prior to the Antares used UDP sockets. The enhancement to support stream sockets was done in Fix Pack C for the DCConnect 1.4.0 CDs. Therefore that fix pack (or later) is required in order to use Antares terminals attached via TCP/IP to DCConnect. If you intend to use Antares terminals attached serially to the DCConnect Server, there are some performance considerations to be aware of regarding the ability of the terminal to respond to polls from the DCConnect Server. For more information, please see Serial Port Use on the Antares Terminal. Drive Arrangement on Antares Terminals -------------------------------------- The primary drive available for use on an Antares terminal is drive C: It is a non-volatile, writable drive and it is 750K in size. After DOS and other system files are loaded, about 500K is free for the Client and its files - which is more than adequate. The total size of the physical drive is actually 2MB, but 1.25MB is used by the Antares for other purposes. There is a read-only A: drive which contains a couple of files, including AUTOEXEC.BAT and CONFIG.SYS. But there is no need to change these files in order to run the Client. There is also a read-only B: drive containing DOS utilities. This B: drive is actually implemented as a single file on the C: drive - called DRIVEB.IMG. There is no need to change anything on this drive either. The Antares terminal allows a RAM disk to be created out of the available RAM. This is not necessary, and is in fact discouraged because it would take away from the RAM that the Client needs for the files and transactions that it will be storing. Using the Antares Menus and the SETUPANT.EXE Utility ---------------------------------------------------- This section describes how terminal parameters can be set using the Antares menus - as well as how they can be set using the SETUPANT.EXE program. Please read the entire section for both methods. You should find that using the SETUPANT.EXE program is the preferred method - especially if you have many terminals to configure. The Antares menus are used for changing various configuration parameters, including parameters for the following features: Feature Path Through the Menus Starting at the MAIN MENU ------- ------------------------------------------------ Serial Port CONFIGURATION -> COMMUNICATIONS -> SERIAL PORT [COM1] Basic TCP/IP Setup CONFIGURATION -> COMMUNICATIONS -> PRIMARY NETWORK Advanced TCP/IP Setup CONFIGURATION -> COMMUNICATIONS -> ADVANCED NETWORK Radio CONFIGURATION -> COMMUNICATIONS -> RADIO Bar Code Symbologies CONFIGURATION -> SYMBOLOGIES Beeper volume CONFIGURATION -> TERMINAL -> BEEPER Backlight timeout CONFIGURATION -> TERMINAL -> DISPLAY Scanner setup CONFIGURATION -> TERMINAL -> SCANNER There is also a DIAGNOSTIC MENU off the MAIN MENU from which you can test the hardware. There is a SYSTEM MENU off the MAIN MENU from which the option to UPGRADE FIRMWARE can be used to reflash the terminal, if that becomes necessary. This same option can be used to reboot the terminal - just go through all the prompts as if you were going to flash the terminal and when the LOADER WAITING screen shows, press Esc and then select the option to Boot the System. Here are a few tips about navigating the Antares menus: 1) To get into the Antares menu, press and release the following 5 keys in order: Function - Left Enter - 2 - 4 - 8 Notes: On 2435 terminals the Left Enter key is the key on the bottom left (left of the 0). On other terminals that do not have left and right Enter keys, just press the Enter key instead. On some terminals the Left Enter key has also been referred to as the 'Left Kidney' key due to its shape! 2) Use the up and down arrow keys to change between menu options. 3) Press Enter to go into a different menu or configuration screen 4) When the current setting for a particular option is highlighted, if it is an entry field, just type in the new value, otherwise use the left and right arrow keys to scroll through the value settings for that option. On some Antares models, in order to get the equivalent of the left and right arrow keys, you must press the Function key followed by another key. 5) To leave the current screen and keep any changes you made, scroll down to the OK button and press Enter. 6) To cancel the changes that you made on a particular screen, press the Esc key (or you can scroll down to the Cancel button and press Enter). 7) Pressing Esc on any screen that just has a menu takes you back up to the next highest menu. 8) Pressing Esc from the MAIN MENU exits the menus. However, if you had made any changes while in the menus you will get the following prompts: a) "Save new configuration (in RAM)?" Select Yes if you want to keep those changes. Then press Esc again to exit the menus. You'll get the next prompt: b) "Store configuration changes in flash memory? ... " Again select Yes so that the changes remain in effect when rebooting. This will take a second or two and you'll get a third prompt: c) "Exiting TRAKKER Antares 2400 Menu System". Just press Enter and you'll be completely out of the menus. IMPORTANT NOTE: Although the Antares menus can be entered at any time, including when the Client is running, IT IS STRONGLY RECOMMENDED THAT YOU EXIT THE CLIENT BEFORE ENTERING THE ANTARES MENUS, PARTICULARLY IF YOU WANT TO CHANGE ANY ANTARES CONFIGURATION OPTIONS. On more than one occasion we have seen the situation where the changing of an Antares configuration option while the Client was running caused the terminal to lockup the next time it was rebooted. In fact the terminal had to be reflashed with the Intermec Antares falsh to recover. Most of the configuration changes that can be made through the Antares menus can also be made by scanning bar codes out of the Antares manual. For more information about this capability and for additional information about the menus, consult the Antares manual. Another way to make configuration changes in the menus is to use a custom written program that uses the Antares PSK API im_command() with the appropriate configuration string. The configuration string is in fact the same as can be scanned from the Antares manual. The Client program itself uses this method to configure the terminal for any serial communications that must be done. Most of the following parameters need to be set in order for the DCConnect Client to work properly and communicate with the DCConnect Server: Terminal IP Address Subnet mask Host IP Address Network Port Default router Radio parameters for 802.11 radio or radio parameters for Open Air radio Enabling the RF or Ethernet Font Size Beeper volume Serial port protocol, baud rate and flow control for use with T24FCOPY utility Preamble / postamble for bar code scanning Changes to the default bar code symbologies In order to ease the configuration of these parameters, we have provided a small utility program called SETUPANT.EXE which reads a file containing configuration strings - just like the ones that can be scanned in from the Antares manual - and configures the terminal using the im_command() API. This program has one required parameter, the file name to be read. That file must exist in the current directory. Following that can be additional configuration commands that will be issued before all the commands in the file are issued. These extra parameters are useful for setting values that will be different for each terminal, such as the Terminal IP Address. The configuration file will not include parameters that are different for every teminal. To reduce the typing required on the terminal and to eliminate the need for the typer to remember the command syntax for setting the IP address, we have created a batch file called S.BAT that calls SETUPANT.EXE and issues a set IP address command using the configuration file and IP address passed in on the command line. S.BAT contains the following: @ECHO OFF C: IF "%1" == "" GOTO SERIAL SETUPANT SETUPANT.INI $+ND%1 GOTO END :SERIAL SETUPANT SETUPANT.INI :END COPY HIDEUSER.BAT USER.BAT CALL USER.BAT The %1 is replaced with the IP address. For example, to configure the terminal using the configuration file SETUPANT.INI and to set its IP address to 99.99.99.31, enter the following command at the DOS prompt of the Antares terminal: S 99.99.99.31 Because S.BAT first changes to the C: drive before running SETUPANT, the above command can be entered when the current drive is A: - which is the case when the terminal is first booted. As you probably noted, the above batch file can also be used with serial- attached terminals that do not require the TCP/IP address to be set. The configuration file should have the following format: - At most one configuration string per line - The entire configuration string must be on one line with no imbedded spaces - Every line containing a command must start with $+ which is what the Antares terminal expects at the start of the command. - Space characters before the $+ are allowed - Blank lines are allowed - Any line whose first non-space character is not $ is assumed to be a comment and will be skipped. The installation of the Client product files includes SETUPANT.EXE in the directory ANTARES and it includes samples for S.BAT and SETUPANT.INI in the directory ANTARES\SAMPLE. These three files should be included in the DOWNLOAD.BAT file that you will set up for downloading all files to the terminal. After each terminal is loaded for the first time you will need run S.BAT with the appropriate parameters one time. Once it has been run, the configuration changes are saved in the terminal's flash RAM and will be preserved through a reboot. S.BAT should therefore not have to be run again unless the terminal configuration in SETUPANT.INI is changed and redownloaded. When the terminal is eventually set up with all of its files, A:AUTOEXEC.BAT will call C:USER.BAT which in turn will call C:EM.BAT which automatically starts the DCConnect Client. This sequence presents a problem if we want to run S.BAT right after the terminal is loaded. This problem was solved by the last two lines in S.BAT: COPY HIDEUSER.BAT USER.BAT CALL USER.BAT With these statements in place, USER.BAT should be downloaded as HIDEUSER.BAT instead. Then when DOWNLOAD.BAT is run and the download completes and AUTOEXEC.BAT runs, it will not find USER.BAT. The person setting up the terminal will then run S.BAT as described above to do the terminal configuration. After SETUPANT.EXE runs, HIDEUSER.BAT will be copied to USER.BAT and then it will be called. Thus the Client will automatically be started after the configuration is complete and USER.BAT will be properly set up for the next time the terminal has to be rebooted. Further instructions for setting these files up will be covered later in Setting Up an Antares Terminal from Scratch. Transferring Files to an Antares Terminal ----------------------------------------- This section discusses how to load the Antares terminal with the necessary DCConnect Client files and assorted configuration files that are required. It assumes the terminal is already loaded with the proper flash and DOS files. If the proper flash files are not already on the terminal, follow the instructions above for obtaining the proper flash. The instructions are in Hardware and Software Requirements for Antares Terminals. If the terminal is not already loaded with DOS files, please see Loading DOS files to an Antares Terminal. Intermec provides a couple of utilities for loading files to the Antares terminals. Both require that the terminal be attached to a PC using the appropriate serial cable described in the hardware requirements section above. The preferred method for loading multiple files uses a utility called LOADER.EXE. This is a DOS program that can also run in a DOS window on Windows NT/2000 or OS/2. It is provided where the Client is installed, in the ANTARES subdirectory. In that same directory are two other files that are used with the LOADER program: FLASHLDR.BIN SAMPLE\DOWNLOAD.BAT The first is used internally by the LOADER program; it must exist in the current directory when LOADER is run. The second is a sample batch file for calling the loader to load several files in a row. This batch file contains the following: loader %1 %2 etscheck.lic /pwait /x goto skipdos loader %1 %2 /flistfile.dos /update /pwait /x /s :skipdos loader %1 %2 etspt.exe /pwait /x /s loader %1 %2 emulator.ini /pwait /x /s loader %1 %2 setupant.exe /pwait /x /s loader %1 %2 setupant.ini /pwait /x /s loader %1 %2 s.bat /pwait /x /s copy user.bat hideuser.bat loader %1 %2 hideuser.bat /pwait /x /s loader %1 %2 em.bat /pboot /x /s /ados.bin @REM Clear screen because loader leaves cursor on same line as last command cls Some important notes about the parameters being used for each call to loader: - %1 and %2 are placeholders for optional parameters that might be specified when DOWNLOAD.BAT is run from the command line. These optional parameters are described below. - Next is the name of the file being loaded. The file name can include a path indicating where on the PC the file is located. However, whether or not the name includes a path, it will always be loaded to the root directory of drive C: on the terminal. The Antares terminal does not support subdirectories. - The /p parameter tells the terminal what to do after the file is loaded. For all but the last file, the parameter is /pwait which tells the terminal to wait because more files will be loaded. For the last file, the parameter is /pboot which tells the terminal to reboot after the file is loaded. - The /x parameter, used with every call to loader tells the LOADER program itself to automatically exit when the load is complete - rather than wait for the user to press a key. This is necessary in order to automate the loading of all files. - The /s parameter, used on all but the first call to loader, tells the terminal that the FLASHLDR.BIN file is already loaded and started in the terminal (due to a prior run of loader which specified /pwait) and therefore it should not be reloaded. If /s is omitted, as is the case for the first call to loader, then loader will first send FLASHLDR.BIN to the terminal and start it before loading the specified file. - The /a parameter is used in conjunction with the /pboot parameter. It tells the terminal which application to run after the terminal boots. We always want to run DOS - which is why /ados.bin is specified. - This batch file ships with the 'goto skipdos' statement set up to skip the loading of DOS files. If you need to load the DOS files as well and you have those files, simply comment out (precede it with REM) or delete the 'goto skipdos' command. Before the DOWNLOAD.BAT file can be run, the terminal must be put into its loading mode. This can be done using the following path through the Antares menus: MAIN -> SYSTEM -> UPGRADE FIRMWARE For instructions about navigating the menus, making and saving changes, see Using the Antares Menus and the SETUPANT.EXE Utility. Respond OK to the first confirmation prompt. Respond Yes to the second confirmation prompt. The terminal will then reboot and show a screen that says 'LOADER WAITING'. If the terminal is attached properly to the PC with the appropriate serial cable. DOWNLOAD.BAT can now be run from the PC to load all the files. By default, the loader program talks to COM1 and runs at a baud rate of 38400. The port to use can be changed by using one of the following parameters when running DOWNLOAD.BAT: /com2 /com3 /com4 The baud rate to use can be changed by using one of the following parameters when running DOWNLOAD.BAT: /b9600 /b19200 /b57600 /b115200 For example, to download to COM2 using a baud rate of 115200, enter: download /com2 /b115200 or to download to COM1 (the default) using a baud rate of 57600, enter download /b57600 With a good cable, you should be able to run at a baud rate of 115200 - even in a DOS window of Windows NT/2000. But if you get communications errors, try reducing the baud rate. Once DOWNLOAD.BAT is started, all files should load automatically and at the end the terminal will reboot and start DOS. If none of the DCConnect Client files were on the terminal before the load, the terminal will boot to an A: prompt. This is when you would run S.BAT as is described towards the end of Using the Antares Menus and the SETUPANT.EXE Utility. Loading One or Two Files at a Time (LOAD1.BAT and LOAD2.BAT) ------------------------------------------------------------ After the terminal has been downloaded, you may eventually need to update one or two files, perhaps due to a change needed in the configuration or an update to the DCConnect Client program. Rather than redownloading all files to all affected terminals, you could use the batch files LOAD1.BAT or LOAD2.BAT to download the specific one or two files that need to be updated. LOAD1.BAT and LOAD2.BAT are included where the Client is installed, in in the ANTARES directory. As you might expect, LOAD1.BAT takes a single parameter - the name of the file to be loaded and LOAD2.BAT takes two parameters - the names of two files that are to be loaded. Before running either of these batch files, the terminal must be put into loader mode - just as is required when running DOWNLOAD.BAT or loading Intermec Antares flash. As is the case with DOWNLOAD.BAT, communcations with the terminal defaults to using COM1 and a baud rate of 38400. If you need to override this uses the same /com? and /b? parameters described above for DOWNLOAD.BAT - but use them AFTER the file name(s) that are listed. For example to reload just ETSPT.EXE and use COM2, run: load1 etspt.exe /com2 or to load both etspt.exe and emulator.ini to COM2 running at a baud rate of 19200, run: load2 etspt.exe emulator.ini /com2 /b19200 If you get communications errors during the download, trying reducing the baud rate. Uploading or Downloading Files Using T24FCOPY.EXE ------------------------------------------------- Intermec provides a second graphical utility, which runs on Windows 95/98/NT/2000, for downloading/uploading individual files to/from the terminal. It is called T24FCOPY.EXE - or more genericly, the FileCopy utility. FileCopy does not require that the terminal be in loader mode - in fact the terminal should not be in loader mode to use the utility. Instead, you must set the communications parameters in the terminal for the terminal's COM1 port to match those used by the FileCopy utility. The instructions below describe the use of this utility: 1) Be sure the Antares terminal is attached to the PC using the appropriate serial cable described in the hardware requirements section above. 2) Be sure the terminal's serial port is configured for the correct protocol and communications parameters: Protocol = Polling Mode D Baud Rate = 38400 Flow Control = XON/XOFF Rep and Cntrl These communications parameters are set in the Antares menus using the following menu hierarchy: MAIN -> CONFIGURATION MENU -> COMMUNICATIONS MENU -> SERIAL PORT [COM1] If you use the utility SETUPANT.EXE which is provided with the Client files, these parameters can be set up without having to go into the menus. For information about the using the menus and about the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. 3) On the PC side, you'll need the T24FCOPY utility - which can be found where the Client files are installed, in the ANTARES subdirectory. Copy both T24FCOPY.EXE and T24FCOPY.HLP. This program runs under Windows NT/95/98/2000. 4) When this utility is started, you are presented with a 3 page notebook, the first of which specifies the source and target files. The second page is the 'COM Port Setup' and should only need to be set up once with the following values: a) PC COM Port = COM1 (or whichever port on your PC is being used) b) TRAKKER COM Port = COM1 c) Communication Protocol = Polling Mode D d) File Transfer Protocol = YModem e) Baud Rate = 38400 The third page, 'Serial Communication Setup' does not have any parameters to be set because Polling Mode D is the protocol in use. 5) Once the communication parameters are set up, it's time to select the source file and target file. The source file can be anywhere on your PC. The target file must be specified to go into the root directory of the C: drive on the Antares terminal. In fact, the Antares terminal does not support subdirectories. 6) When the source and target file names have been specified, make sure none of the check boxes on the right hand side are checked (particularly the one to 'Convert .EXE') and then press the Download button. If communications to the terminal are set up properly and the cable is attached, a second window comes up which shows a status bar for the progress of the copy. 7) Each file must be copied separately in this manner. The drop down lists for the source and target file names list recently used names. While the FileCopy utility could actually be used while the Client is running, it is recommended that the terminal be at a DOS prompt whenever a file is downloaded/uploaded to/from it using this utility. Loading DOS files to an Antares Terminal ---------------------------------------- When shipped from the factory, Intermec should have included the DOS files in the terminal load, provided the terminal was ordered with the proper options. For information about the options to use, please see Hardware and Software Requirements for Antares Terminals. It's also possible for a terminal that was loaded with DOS to be shipped to Intermec for service and then to be reflashed by Intermec without the DOS files. In these situations you will of course need to get the DOS files if you do not already have them. You must contact Intermec support to get them because Intermec must pay royalties for every copy used. There are four files required: DRIVEA.BIN ROM-DOS.IMG DOS.BIN DRIVEB.IMG A fifth file, LISTFILE.DOS, is needed in order to load the files to the terminal but it is not loaded to the terminal itself. LISTFILE.DOS is provided with the DCConnect Client in the ANTARES directory. Once you have them, the best way to load the DOS files to the terminal is to incorporate them into the loading of the DCConnect Client files. In the section Transferring Files to an Antares Terminal above, there is a discussion about how to use DOWNLOAD.BAT to load the DCConnect Client files to Antares terminals. You'll notice that the default DOWNLOAD.BAT (SAMPLE\DOWNLOAD.BAT) contains a 'goto skipdos' statement which prevents the loading of DOS by default. So once the DOS files are copied to the same directory as DOWNLOAD.BAT and LISTFILE.DOS, all you have to do is comment out or remove the 'goto skipdos' line in DOWNLOAD.BAT and the loading of DOS files will be set up to occur when all the DCConnect Client files are loaded to the terminal. Note: The use of LISTFILE.DOS is required in order to properly load the DOS files to the terminal because DRIVEA.BIN is loaded to a special place on the terminal which can only be accomplished using a list file. Loading Intermec Flash to an Antares Terminal --------------------------------------------- While the Antares terminal should be shipped with the appropriate flash level there may be situations where terminals will need to be upgraded to a newer version of Antares flash. Flash images are typically distributed by Intermec Support or are downloadable from Intermec's website as a single self-extracting executable file. That self-extracting executable should be copied to its own folder/directory and then it should be run to expand itself. The self-extracting executable expands to several files including INSTALL.BAT and another self-extracting executable. Simply run INSTALL.BAT and it will expand all the necessary files into a directory with a name similar to: C:\TKV70198 where the 70198 indicates a version number such as 7.01.98. This directory will contain around 100 files, including UPGRADE.BAT which is what you will run in order to load the terminal once it is put into loader mode. Putting the terminal into loader mode is done using the following path through the Antares menus: MAIN -> SYSTEM -> UPGRADE FIRMWARE For instructions about navigating the menus, making and saving changes, see Using the Antares Menus and the SETUPANT.EXE Utility. Respond OK to the first confirmation prompt. Respond Yes to the second confirmation prompt. The terminal will then reboot and show a screen that says 'LOADER WAITING'. You are now ready to run UPGRADE.BAT. However, how you run UPGRADE.BAT depends on what level of flash you are loading. Versions of Intermec flash up to at least 7.01.00 included an UPGRADE.BAT that required a program called CHOICE.COM that was used to prompt the user for 4 different options: 1) Which COM port to use (COM1 - COM4) 2) What baud rate to use (9600, 19200, 38400, 57600, 115200) 3) What software stack to use (UDP plus, TCP or BATCH) 4) What communications hardware to use (Proxim OpenAir radio, 802.11, Ethernet) For some reason CHOICE.COM was not included as part of the flash load - but it can be downloaded from Intermec's website. There were older versions of CHOICE.COM that did not work on Windows NT/2000 but the latest one from Intermec's website should work. Intermec is supposed to be shipping newer versions of their flash with a new version of UPGRADE.BAT that does not require CHOICE.COM. Instead the 4 parameters are passed on the command line when UPGRADE.BAT is run. This version of UPGRADE.BAT is also provided with the Client product files, in ANTARES\SAMPLE directory. Only if you have a version of flash that requires the use of CHOICE.COM, should you copy the UPGRADE.BAT from the product files' ANTARES\SAMPLE directory to the flash directory. When you run UPGRADE.BAT specify the four parameters from the following choices (upper or lower case): 1) com1 com2 com3 com4 << You'll usually use COM1 2) 9600 19200 38400 57600 115200 << 38400 should work most of the time 3) udp tcp batch wtp << Use tcp unless batch terminal 4) prx 802 eth << Pick radio type or 'eth' if hard-wired ethernet For example to load an Antares that has an 802.11 radio using COM1 run: upgrade com1 38400 tcp 802 If you get communications errors, try reducing the baud rate. If you have to rety the load process, be sure to turn off the terminal and back on again so that it properly restarts the load process. The flash load usually takes 5-6 minutes at a baud rate of 38400. When the flash load completes, the terminal will reboot automatically and will end up on a screen that shows a date and time at the top. You will now be ready to load the DCConnect Client files and, if necessary, the DOS files to the terminal. For instructions about how to do this please see Transferring Files to an Antares Terminal. Antares CONFIG.SYS, AUTOEXEC.BAT and Network Configuration ---------------------------------------------------------- Unlike most of the other devices supported by the Client, there is nothing in the CONFIG.SYS and AUTOEXEC.BAT files for the Antares terminals that needs to be changed in order to support the Client. In fact, these files are on the read-only A: drive and cannot be changed. The AUTOEXEC.BAT on drive A: does make a call to C:\USER.BAT at the very end, if that file exists. This allows an application to be started automatically whenever DOS is rebooted. In order to start the DCConnect Client automatically, you should create a USER.BAT that will be downloaded to drive C: and it should contain the following simple line: call em This calls EM.BAT which is the standard method that is used throughout this document for starting the DCConnect Client - regardless of the device it is running on. The content of EM.BAT is discussed later in the section, Setting Up an Antares Terminal from Scratch. Network and radio configuration for Antares terminals is done through the Antares menus or using the SETUPANT.EXE utility provided with the Client. This is also how other parameters such as those for active bar code symbologies, preamble, postamble, scanner, display, beeper volume, ... are set up. The recommended method for configuration all of these parameters is through the use of SETUPANT.EXE and its configuration file. This method allows you to automate the configuration of all of your terminals. For instructions about using the menus and about using this utility, see Using the Antares Menus and the SETUPANT.EXE Utility. If the Antares terminal will be communicating with the data collection server using TCP/IP, then from the following menu: MAIN -> CONFIGURATION -> COMMUNICATIONS -> PRIMARY NETWORK you will need to set the following parameters: 1) 'Activate' the radio / ethernet port 2) Set the 'Host IP Addr' to the IP address of the DCConnect Server 3) Set the 'Terminal IP Address' to the appropriate value for the terminal - which should match the value configured for this terminal in the DCConnect Server. In addition, from the following menu: MAIN -> CONFIGURATION -> COMMUNICATIONS -> ADVANCED NETWORK you will need to set the following parameters: 1) 'Network port' must match the 'TCP/IP Port' value configured for the DCConnect Server. This value is typically 7500. Note that Antares terminals must use the same port number as the host application (DCConnect Server) to which they are communicating otherwise a connection cannot be made. (This is different from most of the other terminals supported by the Client which can have port numbers different from the DCConnect Server). 2) 'Subnet mask' must be set to what is appropriate for your network 3) 'Default router' must be set to what is appropriate for your network If the Antares device you are using has a Proxim OpenAir radio in it then from the following menu: MAIN -> CONFIGURATION -> COMMUNICATIONS -> RADIO you will need to set the following parameters at a minimum: 1) 'Domain' must be set to match the domain value configured in the access points through which the terminals will be communicating. 2) The 'Security ID' must also be set to match the access points' configuration. You won't be able to see the current value of the security ID when on the Radio screen. Just set it to what it should be. If it should be blank, use the backspace key to clear out the field. But if the Antares device you are using has an 802.11 radio in it then from the same radio menu you will instead have to set the following options at a minimum, making sure that they match the settings in the access points: 1) AP Density 2) Medium Reservation 3) Reservation Threshold 4) Network Name Other parameters may need to be tweaked based on the network setup. Consult the Antares manual for more information about all of the parameters in these menus. IMPORTANT NOTE: When using SETUPANT.INI to configure terminals be sure that you only include parameters that are appropriate for the model of Antares terminal that will be processing it. For example, if the terminal is ethernet attached (and therefore does not have a radio) make sure no radio configuration parameters are included. We have seen cases where setting inappropriate parameters have caused intermittent problems on the network - eventually causing terminals to lock up after a couple of days. Antares Bar Code Configuration ------------------------------ By default, Antares terminals have the following bar code symbologies active: Code 39 Code 128 UPC / EAN Using the Antares menus, options for these symbologies can be changed and any of the following additional symbologies can be activated: Codabar Code 11 Code 49 Code 93 Code 16K 2of5 / I 2of5 MSI Plessey Changes to the bar code Symbology configuration can be made using the following wpath in the Antares menus: MAIN -> CONFIGURATION -> SYMBOLOGIES Instead of using the menus, the utility SETUPANT.EXE, which is provided with the Client, can be used to configure changes to the symbologies. Using this utility allows you to automate the configuration of all terminals. For instructions about using the menus and the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. The Antares terminal supports the use of preamble and postamble characters. Therefore it is recommended that the terminal be configured to use them along with the keyword SCAN_SENTINEL_CHARS in EMULATOR.INI. This will provide better enforcement of scan lengths by the Client and it will allow the Client to be able to distinguish between keyboard and scanned data. For more information about the SCAN_SENTINEL_CHARS keyword and its benefits, please see, Keyword: SCAN_SENTINEL_CHARS. To configure the preamble and postamble characters in the Antares terminal, you can use the following path through the Antares menus: MAIN -> CONFIGURATION -> TERMINAL -> PREAMBLE / POSTAMBLE However, it is recommended that you instead use the SETUPANT.EXE utility to configure the preamble and postamble along with all the rest of the terminal parameters. For instructions about using the menus and the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. Serial Port Use on the Antares Terminal --------------------------------------- The COM1 serial port on the Antares terminals can be used by the Client to communicate with devices such as a serial printer or scale. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of over ethernet or radio. In all cases, it is not necessary to configure the serial port using the Antares menus. Instead the Client will configure the serial port based on the command line / EMULATOR.INI parameters (for the serial flavor of the Client) or based on the downloaded serial port configuration (when the serial port is used to talk to another device such as a printer or scale). A word of caution regarding the use of the Client to communicate with DCConnect via the serial port on the Antares terminal: because the 'hard drive' of the Antares is a flash drive operations to update it are relatively slow - which can interfere with the terminal's responsiveness to DCConnect polls. In order to ensure data integrity for transactions that are generated, all transactions are written to a log file on the flash drive. The file must be closed and reopened in order to ensure the data is on the disk. The close and reopen process can take a second or more. During this time, the terminal is only writing to the flash; reading of the serial port is basically suspended. So there are often times when the terminal will not respond to one or more polls. And if the write operation takes long enough, the terminal might miss several polls in a row - causing DCConnect to briefly put the terminal into the 'Not responding' state. After the next 'slow poll rate' interval (which by default is one minute) DCConnect will try to talk to the terminal again - which will usually result in the terminal being put back into service. To help reduce the chance that the terminal will miss enough polls to be put into the not responding state, the Poll Timeout for the appropriate serial line(s) should be increased from the default of 0.5 seconds to 1.0 or even 1.5 seconds - in the DCConnect configuration. The benefit to this is that terminals will be less likely to be put into the 'Not responding' state. The downside is that DCConnect will spend more time trying to talk to any terminals that are configured but which are not communicating. If all terminals on the line are communicating, then the longer timeout should not be a problem. Note: The delays in writing transactions to the flash drive also exist when running the TCP/IP flavor of the Client. However, they don't present the same communications problem because when communicating over TCP/IP the terminal is not continuously being polled. Therefore there is no need for the terminal to quickly respond to a poll. Digital I/O Use on the Antares Terminal --------------------------------------- While some of the models of Antares terminals have digital I/O ports, the DCConnect Client does not currently support access to those ports from transaction programs or CFRs. Starting the Client on an Antares Terminal ------------------------------------------ Since the Antares terminals have only one writable drive (C:) and subdirectories are not supported, the Client, the file ETSCHECK.LIC and any configuration files should be copied to that drive along with any configuration file(s). Depending on which model of Antares terminal is being used, a different 'device' command line parameter must be used. You also have the option to use the DEVICE= keyword in EMULATOR.INI instead of using the -d command line option. The only differences between the valid Antares device parameters is the screen size: For Antares models 2410, 2415, 2420, 2425 and 2435 use the following device parameter: -dANTARES16x20 For Antares models 2455, 2481 and 2486 use one of the following two parameters, depending on which Font Type is being used on the terminal (8x8 or 8x16): -dANTARES20x40 -dANTARES12x40 Use a Font Type of 8x8 with ANTARES20x40 and use a Font Type of 8x16 with the device keyword ANTARES12x40. The Font Type is changed in the Antares menus using the following path: MAIN -> CONFIGURATION -> TERMINAL -> DISPLAY The Font Type setting can also be configured using the SETUPANT.EXE utility. For instructions about using the menus and about using the SETUPANT.EXE utility, see Using the Antares Menus and the SETUPANT.EXE Utility. For Antares models 2460 and 2461 use the following device parameter: -dANTARES2x16 For Antares modes 2480 and 2485 use the following device parameter: -dANTARES4x40 The model 2435 allows for more combinations of row-column dimensions than the set of valid ANTARESrrXcc device parameters include. If the Antares will be configured to use a different row-column combination, you can pick any ANTARES device parameter and then override the row and/or column setting by adding one or both of the following keywords to EMULATOR.INI: NUM_ROWS NUM_COLS For more details about these EMULATOR.INI parameters please see Configuration using EMULATOR.INI. For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up an Antares Terminal from Scratch ------------------------------------------- This section describes suggested steps to take an out-of-the-box Antares terminal and set it up so that the Client can run on it. These instructions assume the terminal is already preloaded with DOS files. If that is not the cases, please read about what files are needed and where to get them in the section Loading DOS files to an Antares Terminal. An Antares with DOS files already loaded will have the following files on the A: drive: ANTIFS.EXE AUTOEXEC.BAT COMMAND.COM CONFIG.SYS and the following files on the C: drive (the first two aren't DOS-specific): APPTSK.BIN EM9560.BIN ROM-DOS.IMG DOS.BIN DRIVEB.IMG The instructions below for loading the terminal will use the LOADER utility and corresponding DOWNLOAD.BAT file instead of the T24FCOPY utility because the former method is more automated - and it is assumed a more automated process is preferred when many terminals need to be set up. 1) To start, create a new, empty directory on your PC for collecting all the files that will be transferred to the Antares terminal. This example will use C:\ANT_LOAD. If you have more than one model of Antares terminal you may need to set up separate directories for each model. The differences that are important are: a) Difference in screen size because a different DEVICE = parameter is needed in EMULATOR.INI, depending on the screen size: ANTARES16x20 ANTARES20x40 ANTARES12x40 ANTARES2x16 ANTARES4x40 If the screen size used by a particular device is not represented in the list above you can override the row and/or column values using the NUM_ROWS and/or NUM_COLS keywords in EMULATOR.INI. b) Differences in the way the terminal communicates to DCConnect: - Using an RF radio - Directly attached via Ethernet - Directly attached using a serial port This difference matters for a couple of reasons: 1) The first two ways require the use of ETSPT.EXE and the last requires the use of ETSPB.EXE (which affects what goes into EM.BAT). 2) The contents of SETUPANT.INI will be different for each: - If using RF, radio parameters must be set (e.g domain or network name) and TCP/IP network parameters such as router, host IP address and subnet mask must be set. - If attached directly via Ethernet, radio parameters are not needed. But the TCP/IP network parameters are. - If attached using the serial port, no radio or network parameters are needed. If you do not want to create separate directories for each set of download files, you could keep all the files in the same directory and create separate EMULATOR.INI files with different names based on the screen size to be used. For example: EM16x20.INI (includes DEVICE=ANTARES16x20) EM20x40.INI (includes DEVICE=ANTARES20x40) EM12x40.INI (includes DEVICE=ANTARES12x40) EM2x16.INI (includes DEVICE=ANTARES2x16) EM4x40.INI (includes DEVICE=ANTARES4x40) EM20x21.INI (includes DEVICE=ANTARES16x20 and NUM_ROWS=20 and NUM_COLS=21) and create separate SETUPANT.INI files with different names based on the method of attachment: SETUPANT.PRX (includes Proxim OpenAir radio and network parameters) SETUPANT.802 (includes Lucent 802.11 radio and network parameters) SETUPANT.ETH (includes network parameters but no radio parameters) SETUPANT.SER (includes no radio parameters or network parameters) If you will devices communicating to the DCConnect Client both serially and over TCP/IP you could create two different flavors of EM.BAT to cover both: EM.SER (calls etspb.exe) EM.TCP (calls etspt.exe) (Most likely you'll only ever have TCP/IP connected terminals and would only have an EM.BAT that calls etspt.exe). All the rest of the files to be downloaded would be the same. To make the loading of the different models of terminals easy, you should set up batch files that copy the appropriate flavors of EMULATOR.INI, SETUPANT.INI and EM.BAT and then call DOWNLOAD.BAT. For example, if you have 2425 terminals with 802.11 radios, you could set up LOAD2425.BAT that does the following: copy em16x20.ini emulator.ini copy setupant.802 setupant.ini copy em.tcp em.bat call download.bat %1 %2 and if you had 2480 terminals (ethernet attached) with 4x40 displays you could set up LOAD2480.BAT that does the following: copy em4x40.ini emulator.ini copy setupant.eth setupant.ini copy em.tcp em.bat call download.bat %1 %2 and if you had 2410 terminals to be used as batch terminals you could set up LOAD2410.BAT that does the following: copy em16x20.ini emulator.ini copy setupant.ser setupant.ini copy em.ser em.bat call download.bat %1 %2 In all 3 of the above examples, DOWNLOAD.BAT is the same because it uses the EMULATOR.INI, SETUPANT.INI and EM.BAT that are set up when it is called. The %1 and %2 that follow the call to DOWNLOAD.BAT are for passing the optional /com? or /bbaudrate parameter to download.bat. Using all of these different names may be a bit confusing to set up in the first place but it will make things simpler when it comes time to actually load all of the terminals. In order to simplify the remaining instructions, it will be assumed that only one model of Antares is being used and thus only one flavor of EM.BAT and SETUPANT.INI will be created in the steps below. These instructions also assume you are doing this for the first time and as a result none of the files already exist on your PC. 2) Copy into that directory the following loader-related files and terminal configuration utility files from the directory where the Client is installed: ANTARES\LOADER.EXE ANTARES\FLASHLDR.BIN ANTARES\SETUPANT.EXE ANTARES\SAMPLE\DOWNLOAD.BAT ANTARES\SAMPLE\SETUPANT.INI ANTARES\SAMPLE\EMULATOR.INI ANTARES\SAMPLE\S.BAT ANTARES\USER.BAT all files from the ANTARES\SAMPLE directory are samples that you may have to customize. They are put into the ANTARES\SAMPLE directory so that the entire ANTARES directory and it subdirectories can be copied from future CDs and fix packs without overwriting the customized .BAT and .INI files. 3) Now copy the license file from the root directory where the DCConnect Client is installed: ETSCHECK.LIC 4) If the terminal will be communicating with the DCConnect Server over the serial port, copy the following executable from the directory where the Client is installed: ANTARES\ETSPB.EXE Otherwise the terminal will be communicating directly over Ethernet or using a radio. In this case copy the following executable: ANTARES\ETSPT.EXE 5) Now all the product files have been copied. Some of them have to be customized, starting with SETUPANT.INI. This file contains commands that are issued to the Antares terminal to configure certain parameters. For more information about the format of this file and how it is used, see Using the Antares Menus and the SETUPANT.EXE Utility. Start your favorite text editor and make the following changes to SETUPANT.INI. Note: Do not change the order of the commands that are already in the file. Certain commands must be done in a particular order or they will not work. a) If using the serial flavor of the Client, comment out the commands that relate to TCP/IP and radio configuration. This can be done by placing // in front of each line that contains a command that starts with $+. For example, if the file contains the following two lines: // Subnet mask $+NS255.255.240.0 Then to comment out this command for setting the subnet mask would result in the following difference: // Subnet mask // $+NS255.255.240.0 The commands that should be commented out are for the following parameters: Subnet Mask Default router Host IP Address Network Port Lucent 802.11: AP Density Lucent 802.11: Medium Reservation Lucent 802.11: Reservation Threshold Lucent 802.11: Network Name Lucent 802.11: Power Management Lucent 802.11: Receive All Multicasts Proxim Open Air: Radio Domain value Activate RF / Ethernet network communications Proxim Open Air: Radio security ID b) If the Antares terminal will be communicating using Ethernet or a radio, set the proper values for the following parameters: Subnet Mask << Choose the value that is proper for your network Default router << Choose the value that is proper for your network Host IP Address << Enter the DCConnect Server IP address here Network Port << Enter the TCP/IP Port Number used by the DCConnect Server. It defaults to 7500, but can be changed using the System -> Options notebook and going to page 1 of the Options tab. (No need to change the 'Activate RF / Ethernet network communications' parameter because it is already properly set.) c) If you are using an Antares terminal that is attached via Ethernet and does not have a radio, then comment out the following parameters: Lucent 802.11: AP Density Lucent 802.11: Medium Reservation Lucent 802.11: Reservation Threshold Lucent 802.11: Network Name Lucent 802.11: Power Management Lucent 802.11: Receive All Multicasts Proxim Open Air: Radio Domain value Proxim Open Air: Radio security ID But if the Antares terminal has a Lucent 802.11 radio or Proxim OpenAir radio, be sure to set the appropriate raido specific parameters to match the settings of the access points. Also be sure to comment out the parameters for the radio that is not appropriate. d) In most cases, the font size to use will be 8x8 in order maximize the number of rows and columns available on the screen. But if that is not the case for your terminals, change the font size setting as needed. Make a note of what dimensions the font size results in so that the DEVICE, NUM_ROWS and NUM_COLS parameters can be properly set later in EMULATOR.INI. e) Set the beeper volume as needed, using the values explained in the SETUPANT.INI file. f) You should not change the values for the serial port Protocol, Baud Rate or Flow Control. The default settings for these parameters in the .INI file are set up so that the file copy utility T24FCOPY.EXE could be used if necessary. If the DCConnect Client needs to use the serial port - whether it is the serial flavor of the Client or the TCP/IP flavor talking to a serial device - the Client will reconfigure the port based on parameters that are provided to it in EMULATOR.INI or via download. When the Client exits, it restores the serial port parameters to what they were before it changed them. g) The Preamble and Postamble characters default to \x01 and \x02 respectively. It is recommended that these settings not be changed in order to make the best use of the scanner. But be sure to add the SCAN_SENTINEL_CHARS keyword to EMULATOR.INI when it is set up in the steps below. h) If any changes are needed to other parameters in the Antares configuration, such as parameters for bar code symbologies, extra commands can be added to the end of the file. Refer to the Antares 24xx User's Guide for information about the syntax of any additional commands. 6) Now it is time to customize EMULATOR.INI with whatever parameters are needed. For information about what parameters can be set in this file, see Configuration using EMULATOR.INI. First set the DEVICE parameter to match the screen dimensions of the terminal. For example: DEVICE = ANTARES16x20 If none are appropriate for the number of rows and columns that will be visible, then pick any of the ANTARESrrXcc values for DEVICE and then override the row and/or column values using commands similar to the following: NUM_ROWS = 16 NUM_COLS = 20 It is recommended that the following statements also be included to maximize the amount of space that is available in the terminal for files that will be downloaded: NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 MAX_TRANSACTIONS = 10 Of course, if more than 10 (actually 9) transactions have to be buffered at a time, adjust the value for MAX_TRANSACTIONS accordingly. The maximum value is 500. However, if you find you cannot download all of your transaction programs and the rest of the terminal configuration from DCConnect, you may have to reduce this number. Remember if you left the Preamble and Postamble configuration commands uncommented in the SETUPANT.INI file in the previous step, then be sure the following statement is included in EMULATOR.INI: SCAN_SENTINEL_CHARS = 1, 2 Many customers like to be able to use the larger numeric keys to start transaction programs or select menu options - instead of making the user press keys F1 through F10. If you need this capability, make sure the following is included: PF_MAPPING = Y Because the Antares terminal has less available RAM than most other terminals supported by the DCConnect Client, it will likely be necessary to enable the FILE_PAGING feature in which is done by adding: FILE_PAGING = Y to EMULATOR.INI. If enabled you might also need to use the keyword LOCK_IN_MEMORY to list validation files that should not be paged. For more information about these keywords please see Keyword: FILE_PAGING and Keyword: LOCK_IN_MEMORY. For serial-attached terminals, be sure to add parameters for BAUD_RATE and COM_PORT if the default values are not correct. An ADDRESS parameter is also needed; however, it is different for every terminal so it can't be included in the base EMULATOR.INI that will be loaded to every terminal. But you can do something similar to the following in order to add the ADDRESS parameter to the file at the time the terminal is downloaded: a) Create EMULATOR.SER instead of EMULATOR.INI and include all necessary keywords except for ADDRESS = b) Change the appropriate LOAD24xx.BAT so that the first parameter is the address character to use (A-Y, 0-6). Then in the LOAD24xx.BAT DOWNLOAD.BAT before the step to load EMULATOR.INI to the terminal, add the following two lines: COPY EMULATOR.SER EMULATOR.INI ECHO ADDRESS = %1 >> EMULATOR.INI This will add an ADDRESS command to EMULATOR.INI based on the parameter passed to LOAD24xx.BAT. (If you make this change, be sure to change all prior occurrences of %2 to be %3 instead and change all prior occurrences of %1 to be %2 instead). Alternatively, S.BAT could be changed to do a similar set of steps when it is run down in the terminal. In this case, EMULATOR.SER would be loaded to the terminal instead of EMULATOR.INI. 7) The last terminal-resident file to set up is EM.BAT. The sample that is provided with the Client (ANTARES\SAMPLE\EM.BAT) includes the following: c: cd\ etspt You should not have to change this unless the terminal is communicating with DCConnect over the serial port. In this case, replace the last line with: etspb These examples do not use any command line parameters when starting the Client because they are all set up in EMULATOR.INI per the instructions above. When running on Antares terminals, the command line parameters -p and -h and their equivalents in EMULATOR.INI, TCPIP_PORT and TCPIP_HOST, are not needed because these are set up as part of the Antares configuration via SETUPANT.INI. 8) All files that are required are now set up, with one possible exception - the DOWNLOAD.BAT file that will be used to load the terminal. A default flavor of this file is provided with the Client (as ANTARES\SAMPLE\DOWNLOAD.BAT) - and should already have been copied to C:\ANT_LOAD in step 2 above. For a complete description of the contents of this file and information about LOADER.EXE please see Transferring Files to an Antares Terminal. For TCP/IP you should not have to change this file. But for serial attached terminals you will need to change the reference to 'etspt.exe' (part of the 3rd loader command) to be 'etspb.exe'. Assuming that you will be creating a LOAD24xx.BAT file as is described above in steps 1b and 6b there should not be any other changes needed. 9) Now that DOWNLOAD.BAT is set up and we previously set up LOAD24xx.BAT file(s), the LOAD24xx.BAT files can be run to load terminals - once they have been put into 'loader' mode. For more details, please see Transferring Files to an Antares Terminal. Remember that for serial flavors, the terminal address character must be provided as a parameter when you run the LOAD24xx.BAT or when running S.BAT on the terminal. 10) After the download completes for each terminal, the terminal should reboot automatically and run DOS, ending up at an A: prompt. At this point S.BAT must be run on the terminal so that the terminal is configured based on the commands in SETUPANT.INI. Remember for Ethernet-attached or RF terminals, you must specify the terminal's IP address as the command line parameter when running S.BAT. For example: S 99.99.99.61 When the configuration completes, the Client should automatically be started. Using the DCConnect Client on Intermec Janus 2010/2020/2050 Terminals --------------------------------------------------------------------- This section describes what additional configuration must be done when using the DCConnect Client on one of the Intermec Janus terminals. For more detailed information about using Janus terminals please refer to the following sections: - Hardware and Software Requirements for Janus Terminals - Drive Arrangement on Janus Terminals - Transferring Files to a Janus Terminal - Janus CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - Janus Bar Code Configuration - Configuring the Janus Display and Viewport - Serial Port Use on the Janus Terminal - Starting the Client on the Janus Terminal - Setting Up a Janus Terminal from Scratch Hardware and Software Requirements for Janus Terminals ------------------------------------------------------ While not absolutely required, it is strongly recommended that a PCMCIA SRAM/ ATA/FLASH memory card be used in the Janus terminal. The memory card serves as non-volatile storage for transactions that are generated by the Client. Without it, transactions could be lost if all battery power in the terminal is lost or if the terminal is cold-booted. Use of a memory card also makes it much easier to update files on the Janus terminal. Files can be copied to the card from a laptop or PC with a PCMCIA drive. Flashing of the Janus read-only drives can also be done from the memory card if it is loaded with the necessary flash utilities and drive images. The ATA memory card is the most cost-effective and appropriate kind of the three types of memory cards and this kind of card does not require a battery either. (SRAM cards require a battery and thus still have the potential to lose data if the battery were to lose its charge). We used a 10MB ATA flash card from SanDisk (formerly SunDisk) during our testing of Janus 2020 terminals. Please check with Intermec for recommended cards. Note that the Janus 2010 terminal has a type I PCMCIA slot while the 2020 and 2050 models have a type II PCMCIA slot. Towards the end of 1998, Intermec talked of including both the FTP Software drivers with the Janus terminal. If this becomes reality, then the TCP/IP drivers from FTP Software do not need to be purchased separately. But if these drivers are not included by Intermec, then they will have to be purchased separately from FTP Software. Intermec does provide the Novell TCP/IP drivers with the Janus terminal. A flavor of the Client is provided that uses the Novell TCP/IP stack. If this flavor is used, then TCP/IP drivers do not have to be purchased separately. Another advantage of using the Novell drivers is that they consume almost 60K less of RAM - which means more RAM is available for the DCConnect Client to use. In order to load the Janus terminal, it must be serially attached to a DOS PC because the DOS utility INTERSVR.EXE is required for some of the steps of the configuration process (all of the steps if a memory card is not being used). This utility is not part of Windows 95/98/NT or OS/2. However we have found that INTERSVR.EXE will run under Windows 95, if you have it to copy there. If you will be using a memory card, you will need some PC or laptop that has an appropriate PCMCIA card slot and drivers for the operating system on that PC / laptop that support the memory card. Check with the manufacturer of the memory card for the necessary drivers for your operating system. Drive Arrangement on Janus Terminals ------------------------------------ The Janus terminal defaults to having a C: D: and E: drive. However an F: or G: can be added by installing a PCMCIA SRAM/ATA/FLASH memory card On a Janus 2010/2020, the memory card will be drive F: if it is put into the type I PC card drive or it will be drive G: if it is put into the type II PC card drive. On the Janus 2050, the memory card is always drive G: Most of the discussion of Janus terminals in this document assumes a memory card will be used. Drives C: and D: are read-only in the terminal. Special utilities, provided with the Janus terminal, are used to build and load the images for drives C: and D:. Drive E: is a RAM drive. If no memory card is installed, then drive E: is the only drive that can be written to during normal terminal use. With no other writable drive available, the Client must be run with drive E: as the current drive because the Client stores transactions on 'disk' in the drive and directory which is current when the Client is started. However drive E: is not a non-volatile drive; its contents can be lost if all battery power in the terminal runs out or if the terminal is cold-booted. Because of the possiblity that transactions might be lost on a RAM drive, it is recommended that a memory card be used to provide non-volatile storage. With an ATA memory card installed, a drive F: or G: will now be available and the Client should be started when this drive is the current drive so that transactions can be saved to non-volatile storage. Use of a memory card has other benefits: - It is easier to put updated versions of the Client and the various terminal configuration files on a memory card than it is to serially attach the terminal and reload an entire drive. You will still have to load each terminal at least once serially after you've set up the C: and D: drives so that they run the changeable programs from the memory card. However, after each terminal's initial loading via the serial port, all future updates to the terminal could be done via the memory card. - The reflashing of C: and D: drives can actually be done by copying the appropriate files to the memory card, inserting the memory card into the terminal and running the appropriate flashing software from the card. Consult the Janus documentation for more information about the use of PCMCIA memory cards and ways to flash the read-only C: and D: drives. Transferring Files to a Janus Terminal -------------------------------------- The Janus User's Guide describes how to transfer files between a PC and the Janus terminal. Use of INTERLNK.EXE and INTERSVR.EXE is described in Chapter 6 in the section "Running Interlnk to Transfer Files. Files can be transferred using a serial cable between the PC and the Janus docking station or over the network once the base communication files have been set up. If a PCMCIA memory card is installed, files can be copied directly to that card when it is inserted into a PC's PCMCIA slot (provided the proper PCMCIA memory card drivers are installed). The Janus User's Guide describes a couple of different ways of reflashing the C: and D: drives. But the best method is not really described in the book, although it does require the use of a utility called LOADER.EXE that is provided by Intermec on its utility diskettes / CD. Before running LOADER you must use another Intermec utility called MAKEDISK.EXE to create the image file from a set of files in a directory on the PC. For example, if the current directory is C:\ and all files that should be part of the drive C: image are located in C:\JANUS_C then run the following on the PC at the DOS command line: makedisk /s=c:\janus_c /o=drivec.img (you may need to specify a path for the location of MAKEDISK.EXE if it is not in the current directory). This call will create a file called DRIVEC.IMG. In order to create an image for the terminal's D: drive from files that are located in C:\JANUS_D, run the following: makedisk /s=c:\janus_d /d=d /o=drived.img Note: the use of the /d=d parameter. Without it, makedisk assumes the image will be for the C: drive of the Janus terminal. Once the image files have been created, the LOADER.EXE utility can be run to flash the terminal with these images. But the terminal must first be put into a mode where it is prepared to be loaded. This is done as follows: 1) Turn the terminal off 2) Next you must press the following 3 keys together: F3 and 2 and left arrow (don't confuse this with the backspace key). Start by pressing and holding F3. While still holding F3, press and hold 2. While still holding F3 and 2, press the Left arrow key and then release all 3 keys. 3) Now press and release the 2 key by itself. 4) Turn on the terminal; you should now see the BOOT LOADER menu. 5) On the BOOT LOADER menu use the arrow keys to highlight 'Load' and then press Enter. The terminal is now ready to be loaded from the PC - provided that is in a docking station or has an optical link adapter that is attached serially to the PC. Once the terminal is in loading mode and serial connection is set up to the PC, the loader utility can be run to flash the C: and D: drives (this example uses the names we used above when running makedisk): loader /user=drivec.img /app=drived.img If only C: drive is being flashed, leave off the /app=drived.img. Loader takes other parameters for specify the COM port to use: /com1 /com2 /com3 /com4 and for specifying the baud rate: /b38400 By default COM1 is used and 57600 is used for the baud rate. Note: Both MAKEDISK and LOADER will run in a DOS session of Windows/NT. However, we have found that it was difficult to have LOADER complete the flash process before ending with too many communications errors. So we were forced for run LOADER on a PC that was booted from DOS. If transferring files serially or flashing the terminal, a serial cable is required and the one required is different depending on the terminal and the docking station being used: - For Janus 2010 or Janus 2020 terminal: - If using a JD2010 Communications Dock you must connect the dock to the host computer with a 3-wire (2, 3 and 7) cable in order for communications to work properly. A standard null-modem cable will not work. From the Janus 2010 User's Guide, the Intermec part numbers for the appropriate cable are: 047569 for a 3-wire, 9-pin, null modem with DB9 PC connector 052477 for a 3-wire, 9-pin, null modem with DB25 PC connector - If using a JL2010 Optical Link Adapter, a standard null-modem cable must be used. From the Janus 2010 User's Guide, the Intermec part numbers for the appropriate cable are: 059167 for a 5-wire, 9 pin, null modem with DB9 PC connector 048693 for a 7-wire, 25 pin, null modem with DB25 PC connector - For Janus 2050 terminals: - A special Janus 2050 null modem adapter cable is required. The Janus 2050 User's Guide lists the part number for this cable as: 063092. The file JANUS.INI contains the hardware specific configuration information such as barcodes in use, pre/postambles for bar codes, display size and viewport configuration. This file can be updated by the IC.EXE utility which is the Intermec configuration program that runs only on the Janus terminal. You could also update this program with any text editor by using the appropriate commands and parameters which are documented in the Janus User's Guide. For the best flexibility, the JANUS.INI file should be located on the memory card drive - a non-volatile, writable drive. That way it can easily be updated without having to reflash one of the terminal's read-only drives. In version 4.06 of the Janus drive images, the JANUS.INI file does not exist. However, using the save option of the IC.EXE utility on the terminal, a default JANUS.INI file can be generated on a writable drive - preferably the memory card drive. Once on the memory card, it can be easily transferred to a PC for replication on other Janus terminals in the network. If a memory card is not being used, then the JANUS.INI file must be saved to the drive E:, the RAM drive. Then it can be transferred to the PC using the INTERSVR.EXE / INTERLNK.EXE utilities as described in the Janus User's Guide. CONFIG.SYS, AUTOEXEC.BAT and Network Configuration for Janus Terminals ---------------------------------------------------------------------- The following CONFIG.SYS file was used during our testing. It is unchanged from the one provided in version 4.06 of the Intermec-supplied drive C: image: REM * REM * FILENAME: CONFIG.SYS REM * REM * PROD ID: J2020 REM * REM * VERSION: 4.06b REM * REM * SETUP BOOT MENU ITEMS [MENU] MENUITEM=SRAM, SRAM PCCARD MENUITEM=ATA, ATA PCCARD MENUITEM=FLASH, FLASH PCCARD MENUITEM=IO, I/O PCCARD MENUITEM=NO, NO PCCARD MENUCOLOR=15,0 *1 MENUDEFAULT=SRAM, 20 [COMMON] REM * COMMON TO ALL CONFIGURATIONS REM * SET ENVIRONMENT SIZE SHELL=COMMAND.COM /E:2000 /P DEVICE=D:\HIMEM.SYS /TESTMEM:OFF DOS=HIGH REM * LOAD APM POWER MANAGEMENT DEVICE=D:\POWER.EXE /LOW REM * LOAD DRIVE E: RAMDISK *2 DEVICE=D:\SRAMDISK.SYS 256 512 /E REM * REQUIRED TO RESUME PCCARD CONTROLLER INSTALL=D:\CARD_SR.EXE [SRAM] REM * MEMORY CARDS DEVICE=D:\CS.EXE /POLL:1 DEVICE=D:\CSALLOC.EXE D:\CSALLOC.INI DEVICE=MTSRAM.EXE DEVICE=MTDDRV.EXE [ATA] REM * ATA CARDS DEVICE=D:\CS.EXE /POLL:1 DEVICE=D:\CSALLOC.EXE D:\CSALLOC.INI DEVICE=D:\ATADRV.EXE /S:2 DEVICE=MTDDRV.EXE DEVICE=D:\CARDID.EXE [FLASH] REM * FLASH CARDS DEVICE=D:\CS.EXE /POLL:1 DEVICE=D:\CSALLOC.EXE D:\CSALLOC.INI DEVICE=D:\MTI1.EXE DEVICE=D:\MTI2P.EXE DEVICE=MTDDRV.EXE DEVICE=D:\FTL.EXE [IO] REM * I/O AND MEMORY CARDS DEVICE=D:\CS.EXE /POLL:1 DEVICE=D:\CSALLOC.EXE D:\CSALLOC.INI DEVICE=MTSRAM.EXE DEVICE=MTDDRV.EXE DEVICE=D:\CARDID.EXE [NO] REM * NO PCCARD CARDS [COMMON] REM * AUTO LOADER HOOK IF ACTIVE *3 DEVICE=D:\INTERLNK.EXE /DRIVES:5 /NOPRINTER /COM:1 /AUTO BUFFERS=10 REM * FOR INTERMEC IRL SUPPORT. FILES=50 STACKS=9,256 REM * Needed for JRTE support. LASTDRIVE = Z A few notes about the above: 1) The MENUDEFAULT line should be changed based on the kind of memory card that will be installed or if no memory card will be installed. 2) SRAMDISK.SYS is the driver to set up the drive E: RAM disk. If the size of drive E: must be changed, change the parameters for this driver. Note that the RAM drisk is created in extended memory (/E) so changing the size will not affect available conventional memory in the terminal. 3) INTERLNK.EXE must be included in order to be able to copy files from the terminal's drive C: or drive D: to a PC running INTERSVR.EXE under DOS. Alternatively, the contents of drive C: or D: could be copied to the memory card drive. This driver will unload itself if a connection is not established with an INTERSVR program. 4) There are no network drivers in CONFIG.SYS Following is the AUTOEXEC.BAT file that was used during our testing: @ECHO OFF CLS :* :* FILENAME: AUTOEXEC.BAT :* :* PRODUCT: J2020 :* :* VERSION: 4.06b :* :* ------------- ! AUTO-INTERROGATING DRIVE C: INSTALLATION ! ------------- :* :* INTERMEC AUTOMATIC DRIVE C: INSTALLER HOOK; (DO NOT REMOVE!) :* ECHO OFF CLS IF NOT EXIST AUTOINST.BAT GOTO T2 CALL AUTOINST GOTO T3 :T2 *1 IF EXIST D:\AUTOINST.BAT CALL D:\AUTOINST :T3 :* :* ------------- AUTO-INTERROGATING DRIVE C: INSTALLATION ENDS ------------- SET PROMPT=$P$G *2 PATH=C:\;D:\;E:\;F:\ REM * REQUIRED FOR MORE.COM TO WORK ON ROM DRIVES SET TEMP=E:\ REM * USED BY READER SERVICES SET IM_ERRPATH=E:\ D: REM * REQUIRED TO RESUME IF NO APM_4M D:\IPM_4M.EXE REM * LOAD FOR PCMCIA CARD DETECT ON RESUME REM D:\APM_4M.EXE REM * LOAD BARCODE READER FUNCTIONALITY IF EXIST D:\LOADUMA.EXE D:\LOADUMA REM * REQUIRED FOR COMPLETE DISPLAY FUNCTION D:\IM_DISP.EXE REM * SET READER CONFIG *3 D:\IC /L F:\JANUS.INI REM * CONFIGURE BARCODE WEDGE (DEFAULT DISABLE) REM * 0= DISABLE WITH EXKBD REM * 1= ENABLE WITH EXKBD REM * 2= ENABLE WITHOUT EXKBD REM * 3= DISABLE WITHOUT EXKBD REM * 4= DISPLAY STATUS D:\KWC.COM 0 REM * LOADS ONLY IF RF BACK INSTALLED REM RFPH 4 *4 CALL F:\NET.BAT REM * IF FTA EXISTS CALL TO DETERMINE IF HOST TRANSFER REM * NOTE: THE RAMDRIVE E: IS USED SO FILES CAN BE REM * ACCESSED WITHOUT SPECIFYING THE FULL PATH. IF NOT EXIST C:\FTA.EXE GOTO DOS_PROMPT E: FTA.EXE CHECKHOST; EXIT REM * START POSSIBLE HOST SET IM_APPLICATION REM * TO EXECUTE A DOWNLOADED APPLICATION %IM_APPLICATION% :DOS_PROMPT REM * END AT C: DOS PROMPT C: CLS *5 CALL F:\EM.BAT A few notes about the above: 1) AUTOINST figures out which drives are available. 2) Change the path as necessary for your installation. The statement above was changed to add the root directory of the memory card drive. 3) IC.EXE is an Intermec-provided utility for configuring many things about the Janus terminal. When called with the /L parameter, it simply loads the configuration from the specified configuration file (JANUS.INI). The statement above was changed to indicate the JANUS.INI is on the memory card drive so it is easier to update and so that it resides on a non-volatile drive (on a Janus 2050, this would be drive g: instead.) 4) NET.BAT was added to start the necessary drivers for radio communication over the ethernet. NET.BAT contains the following for running the necessary network drivers from memory card drive (in this case F:), including those required to run FTP Software's TCP/IP stack: F: MINIPM.EXE LSL.COM RL2OEM.COM IF NOT ERRORLEVEL 1 GOTO CARD_OK ECHO * ECHO * ERROR LOADING ECHO * RL2OEM.COM ECHO * PAUSE :CARD_OK ODIPKT ETHDRV If the Novell TCP/IP stack is to be used instead, a simple change to NET.BAT is needed; the calls to ODIPKT and ETHDRV should be replaced by a single call to TCPIP.EXE. Note: Newer versions of Janus terminals have a newer version of the 2.4ghz radio which requires the use of RL2UISA.COM instead of RL2OEM.COM 5) EM.BAT is a batch file that is set up to start the Client automatically. The network configuration is defined in one or two files depending on whether the FTP Software or Novell TCP/IP stack is to be used: NET.CFG PCTCP.INI NET.CFG is used in both cases. It contains the configuration for the LSL driver - in the section labeled LINK SUPPORT. It also contains the configuration of the domain, channel, subchannel and other parameters used by the RL2OEM driver - in the section labeled LINK DRIVER RL2OEM. During our testing, we used a Norand 6710 access point. If using the Novell TCP/IP stack, then the TCP/IP parameters for the IP address, subnet mask and router are configured in the section labeled PROTOCOL TCPIP in NET.CFG. The NET.CFG shown below is the one we used: LINK SUPPORT BUFFERS 8 1500 MEMPOOL 4096 MAX STACKS 8 LINK DRIVER RL2OEM INT 7 PORT 270 DOMAIN 0 ;Matches LAN ID in 6710 access point STATION_TYPE 0 FRAME ETHERNET_II RADIO_MODE 0 ROAM_CONFIG 0 INACTIVITY_MIN 0 INACTIVITY_SEC 5 PEER_TO_PEER N SNIFF_TIME 255 CHANNEL 1 ;Matches channel in 6710 access point SUBCHANNEL 1 ;Matches subchannel in 6710 access point PROTOCOL TCPIP ;This section is only used with the Novell stack IP_ROUTER 99.99.99.101 IP_NETMASK 255.255.240.0 IP_ADDRESS 99.99.99.150 Note: If your Janus terminal has a newer 2.4ghz radio in it that requires the use of the driver RL2UISA.COM instead of RL2OEM.COM, then change the section in NET.CFG that is called LINK DRIVER RL2OEM should be changed to LINK DRIVER RL2UISA instead. If using the FTP Software TCP/IP stack, the IP address subnet mask and router are instead configured in the PCTCP.INI file. This file is not used when using the Novell TCP/IP stack. There are lots of parameters in this file, but we only changed a few of them in our testing. Since we aren't familiar with the meaning of all of them, the entire file we used is included below. Comments are on the right hand side for parameters that we changed and for other useful information. The PCTCP.INI shown below is the one we used: [pctcp general] time-zone=EST time-zone-offset=300 etc-dir=f:\ host-name=intermc ; This should be unique per terminal domain=bellevue or you might be able to remove it [pctcp kernel] keep-alive=60000 mtu-discovery=yes multicast=no pktdrv-loopback=yes router-discovery=no kernel-does-dns=yes interface = ifcust JR2020G ; This points to the section below host-table = hosts that contains the interface in use [pctcp ifcust JR2020G] ip-address = 99.99.99.150 ; Must be unique for each terminal subnet-mask = 255.255.240.0 ; Change this for your site router = 99.99.99.101 ; Change this for your site interface-type=PKTDRV ; Must use this interface type frame-type = ethernet_II ; Must use this frame type [pctcp netbios] adapter-number=0 cache-elements=10 loadhigh=yes names=16 ncbs=20 sessions=10 [pctcp addresses] [pctcp bootp] [pctcp time] dst-begins=97 dst-ends=305 [pctcp screen] video-card=VESA [pctcp idprint printer] when = timeout [pctcp idrive] umask=775 use-emm=yes [pctcp vmail] ask-overwrite=no indent-reply=" " new-mbox=yes post=yes print-nonprintable=no [pctcp pcmail] max-sync-descs=0 msglimit=0 net-time-out=5 repository-port=158 [pctcp pop2] max-sync-descs=0 net-time-out=5 pop2-port=109 [pctcp pop3] bboard=no default-mbox=default max-sync-descs=0 net-time-out=5 pop3-port=110 rpop=no xmit=no [pctcp nntp] join-max-msgs=0 max-sync-descs=0 net-time-out=5 nntp-port=119 [pctcp tn] back-arrow-key=del ftpsrv=off status=on [pctcp 3270] bell=on ftp-sfe-attr=0x09,0x04,0x05,0x02,0x03,0x0E,0x0F ftp-sfe-rv-attr=0x10,0x40,0x50,0x20,0x30,0x60,0x70 light-pen=off model-3/4=4 mouse=off yale=on [pctcp vt] 8-bit=off allow-vt220-8-bit=on answerback=FTP bell=on def-em-mode=vt220 wrap-line=off [pctcp vpctcp] MinimumCopySpace=12 HiTSRFenceSegment=A000h [pctcp sessions] telnet=c:\session.ini ftp=c:\session.ini ctlapp=C:\CTLAPP.INI [pctcp ctlapp] default-placement=1 5 35 275 200 toolbar=small show-status-bar=yes [pctcp ping] host=JR2020G status-bar=yes icon-bar=yes ping-on-startup=no savesettings=yes icmp-data-length=56 trace-show-host=yes time-interval=1 mode=trace [pctcp wmsg] default-placement=1 5 35 275 200 For information about the possible need for entries for authentication-key and serial-number, see Authentication Key and Serial Number Entries in the .INI file. The PCTCP.INI file needs to be in the current directory or in a directory referenced by the environment variable PCTCP, which is set in the NET.BAT file above. Janus Bar Code Configuration ---------------------------- When using one of the Janus terminals, configuration of the bar codes is done using a utility that is provided with the Janus terminal. This utility is called IC.EXE and it is provided by Intermec. The utility must be run on the Janus terminal. Refer to the Janus User's Guide for more information about using the IC utility. In brief, you must use the 'Sym' pull-down menu to select bar code symbologies that are to be active. In addition to selecting the bar code symbologies, preamble and postamble characters should be configured using the IC utility. If using the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI (see above), you need to define both a preamble and postamble. If not using that keyword, it is suggested that the carriage return (\r) sequence be configured as the postamble so that the Enter key does not have to be pressed after a bar code is scanned. Use the 'Op' pull-down menu of the IC utility followed by the 'Amble' option and then fill in the PREAMBLE and POSTAMBLE values as needed. After all parameters are defined, go to the File pull-down and use the 'Save As' option to save the file to the memory card drive so that it can be transferred to the PC for replication to other terminals in the network. Configuring the Janus Display and Viewport ------------------------------------------ By default the Janus display is set up as 25x80 and the Viewport is set up to scroll automatically with the cursor. When running the Client in this configuration, this automatic scrolling leads to rather unpleasant movement of the screen. It is suggested that the IC utility be used to change the Viewport Movement to be Manual. In early versions of the Janus firmware, the manual mode of the viewport did not work properly. For these versions, it may be necessary to change the Display dimensions to be 16x20 in order to prevent it from moving or from being moved at all. Serial Port Use on the Janus Terminal ------------------------------------- The serial port on the Janus terminal can be used not only for transferring files and images to the terminal, but it can be used by the Client to communicate with devices such as a serial printer. The serial flavor of the Client can also be used if the terminal is to communicate to the data collection server via the serial port instead of RF over ethernet. Starting the Client on the Janus Terminal ----------------------------------------- If the Client will be run from the memory drive as suggested, then the Client and the file ETSCHECK.LIC should be copied to that drive along with any configuration file(s). Depending on which model of Janus terminal is being used, a different 'device' command line parameter must be used: For the Janus 2010 or 2020 terminals, any one of the following parameters may be used: -dJANUS -dJANUS2010 -dJANUS2020 For the Janus 2050 terminal, the following parameter must be used: -dJANUS2050 For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a Janus Terminal from Scratch ---------------------------------------- This section describes suggested steps to take an out-of-the-box Janus terminal and set it up so that the Client can run on it. The instructions below are based on a Janus that was loaded with version 4.06 of the Intermec drive images. Note 1: These instructions also assume the use of a memory card. At the end of each step, will be a section with the heading: >>> NO MEMORY CARD <<< ---------------------- That describes what to do differently if a memory card is not being used in the terminal. Note 2: The PC operations in these instructions must be performed from a PC that has a FAT harddrive, CD ROM drive, RS-232 serial port and must be running DOS. And if a memory card is to be used in the Janus terminal, drivers for that memory card must be installed on the PC. The INTERSVR.EXE utility that must be run on the PC is not part of Windows 95/98/NT or OS/2. We have found that INTERSVR.EXE will run under Windows 95, if you have it to copy there. The Janus terminal initially contains the following files: C:\AUTOEXEC.BAT D:\CHKDSK.EXE D:\INTERSVR.EXE D:\NLSFUNC.EXE C:\AUTOINST.BAT D:\CHOICE.COM D:\IPM_4M.EXE D:\PHIMEC.EXE C:\CARDINFO.EXE D:\COUNTRY.SYS D:\IRL.BAT D:\PHPCSTD.EXE C:\COMMAND.COM D:\CS.EXE D:\IRL001.DAT D:\POWER.EXE C:\CONFIG.SYS D:\CSALLOC.EXE D:\IRLDESK.EXE D:\PUTDISK.EXE C:\JANUS.MRF D:\CSALLOC.INI D:\JANUS.CLB D:\RFPH.EXE C:\MCFORMAT.EXE D:\DEBUG.EXE D:\KEYB.COM D:\RSERUMA.EXE C:\MTDDRV.EXE D:\DECSCAN.EXE D:\KEYBOARD.SYS D:\RWTSR.EXE C:\MTSRAM.EXE D:\DISPLAY.SYS D:\KWC.COM D:\SCANNER.INI D:\DOSKEY.COM D:\LABEL.EXE D:\SETVER.EXE D:\ANSI.SYS D:\EDLIN.EXE D:\LCD.CPI D:\SILENT24.EXE D:\APM_4M.EXE D:\FC.EXE D:\LOADFIX.COM D:\SORT.EXE D:\ATADRV.EXE D:\FORMAT.COM D:\LOADUMA.EXE D:\SRAMDISK.SYS D:\ATAINIT.EXE D:\FTL.EXE D:\LOADUMA.INI D:\SUBST.EXE D:\ATTRIB.EXE D:\HIMEM.SYS D:\MEM.EXE D:\UNDELETE.EXE D:\CARD_SR.EXE D:\IC.EXE D:\MODE.COM D:\UNLOAD.EXE D:\CARDID.EXE D:\IC001.DAT D:\MORE.COM D:\XCOPY.EXE D:\CARDID.INI D:\IM_DISP.EXE D:\MTI1.EXE D:\CFGUMA.EXE D:\INTERLNK.EXE D:\MTI2P.EXE 1) The first step is to get the files for drive C: on to your PC so that they can be changed and added to and a new image created. The easiest way to do this is to install a memory card in the Janus and copy all files on drive C: to the memory card drive. We will not be changing anything on drive D: so this will not have to be reflashed. Create a directory on your PC that will contain only the Janus drive C: files. In the steps below we'll call this directory C:\JANUS_C. Also create a directory on your PC that will contain the files that will be copied to the memory card. In the steps below we'll call this directory C:\JANUS_F because that is the memory card drive on a Janus 2010. (On 2020 and 2050 terminals, the memory card drive can be drive G: instead). Copy all files from the terminal's C:\ drive to the C:\JANUS_C directory on the PC. For instructions about how to do this, refer to the section above: Transferring Files to a Janus Terminal. >>> NO MEMORY CARD <<< ---------------------- If no memory card is being used, changes to the terminal's drive D: will also be needed because all required files will not fit on drive C: So instead of creating a C:\JANUS_F directory on the PC, create C:\JANUS_D for the files on drive D: Then copy all the files from the terminal's D:\ drive, including all subdirectories, to the C:\JANUS_D directory on the PC. There is not enough space on drive D: of the terminal to include all of the original files in addition to the files that will be added in the steps below. So to make space, the file IRLDESK.EXE should be deleted from C:\JANUS_D after all files are transferred from the terminal (this program is not needed when running the DCConnect Client on the terminal). This file is almost 350K all by itself - which is much larger than the combined size of all other files that will be added. 2) One additional file needs to be created on the terminal and transferred to the PC. This file is JANUS.INI and it contains Janus specific configuration parameters such as display and bar code settings. From any Janus terminal run the IC utility and make changes to the configuration as needed. Then save the file to the terminal's RAM drive, drive E: as JANUS.INI. For more information about how and what to configure using IC.EXE, refer to the Janus User's Guide. More specific hints related to the use of the Client are in the sections above Janus Bar Code Configuration and Configuring the Janus Display and Viewport. Using the same method that was described in the previous step, transfer E:\JANUS.INI on the terminal to C:\JANUS_F. >>> NO MEMORY CARD <<< ---------------------- Transfer E:\JANUS.INI to C:\JANUS_C on the PC instead. 3) Make the following changes to AUTOEXEC.BAT: a) Change the path statement to include the memory card drive. For example: PATH=C:\;D:\;E:\;F:\ b) Change the call to IC to get the JANUS.INI file from the memory card drive. For example: D:\IC /L F:\JANUS.INI c) If you will be running a TCP/IP flavor of the Client, add a call to NET.BAT from the memory card drive after the call to KWC.COM. For example: D:\KWC.COM 0 CALL F:\NET.BAT d) If you want the Client to start up automatically from AUTOEXEC.BAT then add the following two lines at the end: CALL F:\EM.BAT >>> NO MEMORY CARD <<< ---------------------- Step a is not needed. Step b is not needed; JANUS.INI will be on C: drive. In step c, NET.BAT should be on drive D: In step d, EM.BAT should be on drive C: 4) The only change that is needed in the CONFIG.SYS file is the default setting for the memory card. The default is 'sram'. This is indicated near the top of the CONFIG.SYS file by the line: MENUDEFAULT=SRAM, 20 If you will be using an ATA memory card instead, change the line to read: MENUDEFAULT=ATA, 20 If you will not be using any memory card, change the line to read: MENUDEFAULT=NO, 20 You may also want to change the default menu display time of 20 seconds to something less. >>> NO MEMORY CARD <<< ---------------------- Be sure to use 'NO' for the MENUDEFAULT setting. 5) All files for drive C: are now set up in the C:\JANUS_C directory. You should now create the C: drive image with the original files from drive C: and the AUTOEXEC.BAT / CONFIG.SYS that weres modified in the previous steps. After the image is created, the Janus terminal should be reflashed either via the serial port or using the memory card. For information about creating images and flashing the Janus terminal, see Transferring Files to a Janus Terminal. If you are using a memory card, this should be the last time that you will have to flash the C: drive because all other changes would be made on the memory card drive. >>> NO MEMORY CARD <<< ---------------------- Do not create the drive C: image yet. Since no memory card is being used, other steps below will be adding other files for drive C: Creating images for drive C: and D: will be one of the last steps when no memory card is involved. 6) The rest of the steps involve what is to be set up on the memory card drive. You should set up a separate directory on your PC for all the files that will be copied to the memory card drive. In this example, we'll use: C:\JANUS_F because the memory card will be drive F: in the terminal (for 2010). For 2020 and 2050, the memory card will be drive G:. >>> NO MEMORY CARD <<< ---------------------- Don't do this, you should already have a separate directory for file that will be on drive D:. 7) First we'll set up NET.BAT, the batch file that is called to start up the necessary network drivers. If you are running the serial flavor of the Client then this and the next three steps can be skipped. Set up the NET.BAT as described above under the section above called, Janus CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. >>> NO MEMORY CARD <<< ---------------------- NET.BAT will be created in the root of drive D: And the first line of NET.BAT should be changed to set the current drive to be D: rather than F: 8) Copy the following drivers from the Janus Network Driver's disk to C:\JANUS_F on the PC: MINIPM.EXE LSL.COM RL2OEM.COM >>> NO MEMORY CARD <<< ---------------------- Copy these to C:\JANUS_D instead. 9) If you are using the FTP Software TCP/IP stack, the necessary drivers from FTP Software are supposed to be provided on one of the companion diskettes for the Janus terminal. We were unable to find out from Intermec which one it was. Copy the following files from the appropriate diskette to C:\JANUS_F on the PC: ODIPKT.COM ETHDRV.EXE But if you are using the Novell TCP/IP stack, the following file should be copied from the appropriate companion diskette to C:\JANUS_F on the PC: TCPIP.EXE >>> NO MEMORY CARD <<< ---------------------- Copy these files to C:\JANUS_D instead. 10) Now set up the network configuration files as decribed above in the section Janus CONFIG.SYS, AUTOEXEC.BAT and Network Configuration. NET.CFG must be set up regardless of the TCP/IP stack is to be used. PCTCP.INI must be set up only if the FTP Software TCP/IP stack is to be used. These files should be set up C:\JANUS_F on the PC. >>> NO MEMORY CARD <<< ---------------------- Set up these files in C:\JANUS_D instead. 11) Now copy the following files from the directory where the Client is installed to C:\JANUS_F on the PC: ETSCHECK.LIC If using the serial flavor of the Client: SERIAL\ETSPB.EXE If using the Client along with the FTP Software TCP/IP stack: TCP_FTP\ETSPT.EXE If using the Client along with the Novell TCP/IP stack: TCP_NOV\ETSPT.EXE >>> NO MEMORY CARD <<< ---------------------- Set up these files in C:\JANUS_C instead (note that we switched from D to C). 12) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you decide you need this file, create it in C:\JANUS_F on the PC. >>> NO MEMORY CARD <<< ---------------------- Create EMULATOR.INI in C:\JANUS_C instead. 13) The last Client specific file to create is EM.BAT and it should be created in C:\JANUS_F on the PC. Remember that in step 3 above AUTOEXEC.BAT was changed to call EM.BAT at the end. This file will have different contents depending on what flavor of the Client you are running and what device you are using. For all flavors, you should start with the following two lines: f: cd \ so that the Client can be started regardless of what the current directory and drive are. If drive G: is your memory card drive, then be sure to change f: to g: instead. If you are running the serial flavor of the Client, then add a line to EM.BAT that is similar to: etspb -aB -b19200 -dJANUS2050 Change the -a (address), -b (baud rate) and -d (device) parameters as appropriate for your configuration. If you are running the TCP/IP flavor of the Client, then instead add a line to EM.BAT that is similar to: etspt -dJANUS2050 -h1.2.3.4,7500 Change the -d (device) and -h (host PC) parameters as appropriate for your configuration. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add a call to clear the screen: cls This is sometimes needed to restore the display to its original state after you exit the Client. >>> NO MEMORY CARD <<< ---------------------- Create this file in C:\JANUS_C instead. In addition, because the Client must run on a writable drive, the RAM drive (E:) must be the current drive before the Client is started. The Client expects ETSCHECK.LIC and the optional EMULATOR.INI file to be in the current directory. So these must be copied from drive C: to drive E: before the Client is started. So replace the first two lines in the file described above (f: and cd \) with the following: e: cd \ copy c:\etscheck.lic copy c:\emulator.ini If not using EMULATOR.INI, do not add the last line. 14) These are all of the files that can be set up from the PC. So at this time you can copy all of the files from your directory for memory card files to the actual memory card. Then put the memory card into the Janus terminal and reboot it. Make sure everything starts up properly. >>> NO MEMORY CARD <<< ---------------------- Now we are ready to create the C: and D: drive images and then flash the Janus terminal with those new images. For information about creating images and flashing the Janus terminal, see Transferring Files to a Janus Terminal. 15) The drive C: image and directory of files for the memory card should now be setup up properly as the basis for replicating your configuration across all Janus terminals in the network. For serial terminals, the only difference between terminals should be the address parameter set in EM.BAT. For TCP/IP terminals, the only difference between terminals should be the IP address configured in either NET.CFG (if using the Novell TCP/IP stack) or in PCTCP.INI (if using the FTP Software stack). >>> NO MEMORY CARD <<< ---------------------- Unfortunately, when a memory card is not being used different images are needed for each terminal. For serial terminals, the EM.BAT (or EMULATOR.INI) will have to be different for every terminal; therefore the drive C: image will have to be different for every terminal. For TCP/IP terminals, NET.CFG or PCTCP.INI will have to be different for every terminal; therefore the drive D: image will have to be different for every terminal. The only way to get around this is to have the files that are different reside on drive E:, the RAM drive so that they can be changed without reflashing. And to facilitate the changing of those files, a separate batch file (e.g. SETUP.BAT) would be run on the terminal to set up the parameter that is different and insert into the file. This would be done once after the terminal is flashed with the new C: and D: drive images. Files on drive E: are preserved through a Cntrl-Alt-Del reboot. But they are lost if the terminal loses all battery power or if a cold boot is performed. So if drive E: is erased, SETUP.BAT would have to be run again to set the address. Below are suggested steps for creating SETUP.BAT along with what other changes would be needed for other files that are part of the C: and D: drive images. For serial terminals you could do the following: a) Instead of specifying the terminal address in EM.BAT when ETSPB is called, the terminal address can be read from EMULATOR.INI that is read when ETSPB starts. So first remove the -a parameter from the call to ETSPB in EM.BAT. b) Also remove the line to copy EMULATOR.INI from C: to E: drive; this file will be set up using a SETUP.BAT file that is run once. c) In the set of files for drive C: create EMULATOR.INI with all parameters except for ADDRESS. That will be added via a batch file. d) Create a batch file for C: drive called SETUP.BAT that takes as a parameter, the terminal address character (A-Y, 0-6). This batch file would then copy EMULATOR.INI from C: to E: and append to it a line that specifies the address parameter. The contents of SETUP.BAT would be: @echo off if "%1" == "" goto needaddr copy c:\emulator.ini e:\ echo ADDRESS=%1 >> e:\emulator.ini goto end :needaddr echo Enter address as parameter :end e) You might also want to change EM.BAT to look for the existence of EMULATOR.INI on drive E:. If it is not found, the batch file could prompt the user to run setup. To accomplish this, add the following line to EM.BAT before the call to ETSPB.EXE: if not exist e:\emulator.ini goto needsetup and add the following lines to the end of EM.BAT: goto end :needsetup echo Run SETUP to set address :end For TCP/IP terminals you could do the following: a) The terminal IP address is the parameter that is different for every terminal and it is found in either PCTCP.INI (if using FTP Software TCP/IP stack) or in NET.CFG (if using Novell TCP/IP stack). Whichever file is being used, will have to be split into 3 parts: 1) Part 1 includes all lines of PCTCP.INI / NET.CFG up to but not including the line that specifies the IP address: ip-address = 1.2.3.4 (PCTCP.INI) or IP_ADDRESS 1.2.3.4 (NET.CFG) The part 1 files should be called PCTCP.1ST / NET.1ST and it should be created in C:\JANUS_D on the PC. 2) Part 2 is the ip-address / IP_ADDRESS line itself. It is not part of any files. Instead it will be generated using an ECHO command in the SETUP.BAT file that will be created below. 3) Part 3 includes all lines of PCTCP.INI / NET.CFG after the line that specifies the IP address. These lines should be put into a file called PCTCP.2ND / NET.2ND. This files should also be created in C:\JANUS_D on the PC. b) NET.BAT should be changed in the following ways: 1) The first two steps should be to make drive e: the current drive and to look for the existence of PCTCP.INI / NET.CFG. For the FTP stack use the following two lines: e: if not exist e:\pctcp.ini goto needsetup for the Novell stack, use the following two lines: e: if not exist e:\net.cfg goto needsetup 2) Then add the following lines to the end of NET.BAT to prompt the user to run setup when net.cfg is missing. goto end :needsetup echo Run SETUP to set IP address setup >nul :end The call to setup is a little trick to cause stop any further processing of NET.BAT and AUTOEXEC.BAT. The user will be left at a DOS prompt and will be able to run SETUP - this time specifying an IP address. 3) Before all calls to network drivers (MINIPM.COM, LSL.COM, RL2OEM.COM / RL2UISA.COM, ODIPKT.COM, ETHDRV.EXE and TCPIP.EXE) be sure to specify the path in which these drivers will reside on the terminal - which is the root of drive D: For example, change the call to LSL.COM to be: D:\LSL.COM d) Create a batch file for C: drive called SETUP.BAT that takes as a parameter, the IP address for the terminal. This batch file will create PCTCP.INI / NET.CFG on drive E: using the parts from drive D: and the IP address parameter passed in on the command line. Use the following if running the FTP Software stack: @echo off if "%1" == "" goto needaddr copy d:\pctcp.1st e:\pctcp.ini echo ip-address = %1 >> e:\pctcp.ini copy e:\pctcp.ini + d:\pctcp.2nd e:\pctcp.ini goto end :needaddr echo Enter IP address as parameter :end Use the following if running the Novell stack: @echo off if "%1" == "" goto needaddr copy d:\net.1st e:\net.cfg echo IP_ADDRESS %1 >> e:\net.cfg copy e:\net.cfg + d:\net.2nd e:\net.cfg goto end :needaddr echo Enter IP address as parameter :end Using the DCConnect Client on LXE MX1, MX2 and VX1 Terminals ------------------------------------------------------------ This sections gives a few notes about using the DCConnect Client on one of the following terminals from LXE: MX1, MX2 and VX1. While these terminals are currently in use at one or more customers, we have not yet had the opportunity to do the in depth investigation needed to fully document all aspects of configuring these terminals. Please consult the manufacturer's documentation for any information required. - The MX1, MX2 and VX1 all require the flavor of the DCConnect Client that uses the FTP Software TCP/IP stack and the alternate video drivers. This is found in the \TCP_FTP\NLS directory where the Client files are installed. - Before the Client is started on the device, you should make sure that the screen dimensions are set properly by issuing the DOS 'mode' command. On the MX1 and MX2 terminals, run the command: mode 80 on the VX1 terminal, run the command: mode 40 while this seems backwards, the MX1 and MX2 need to be set to 80 column mode so that the characters are small enough to fit 20 across on the screen. This may in fact already be the default font. On the VX1, the screen must be set to 40 characters across because the Client does not support more than 40 columns; setting to 40 character mode maximizes the use of the display. Setting the mode also ensures that the screen is cleared and positioned at the top of the terminal display - which is where the Client needs it to be. In our testing, we set up EM.BAT to set the mode as described and then call the DOS command CLS after the Client runs. This is done in order to properly position the screen after the Client ends. If CLS is not done, the DOS prompt could be off the screen. Here is the EM.BAT we used on the MX1/MX2 terminal: mode 80 etspt cls and here is the EM.BAT we used on the VX1 terminal: mode 40 etspt cls - Below is the content of the EMULATOR.INI we used on the MX1/MX2 terminals: NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 MAX_TRANSACTIONS = 10 PF_MAPPING = Y NUM_ROWS = 16 NUM_COLS = 20 TCPIP_HOST = 102.102.102.101 DONT_CHANGE_SCREEN_SIZE = Y IGNORE_UNDERLINE = Y An explanation of each parameter follows: - NUM_PF_STRINGS = 0 and NUM_TOUCH_STRINGS = 0 are used to maximize the memory available in the terminal for downloaded files. - MAX_TRANSACTIONS = 10 sets the transaction buffer size to its minimum - to maximize the memory available for transactions. Change this if the terminal needs to buffer more transactions. - PF_MAPPING = Y allows the terminal's numeric keys to be used as the PF1 through PF10 keys. - NUM_ROWS = 16 and NUM_COLS = 20 tell the Client the dimensions of the terminal's physical screen. - TCPIP_HOST = 102.102.102.101 tells the Client the IP address of the DCConnect Server. Change this to make it correct for your DCConnect Server. - DONT_CHANGE_SCREEN_SIZE = Y is required in order to tell the Client to leave the screen size as it is. On many devices the Client tries to switch the screen size to 40 column mode but this does not work correctly on the LXE devices. - IGNORE_UNDERLINE = Y is required in order to tell the Client to ignore the underline attribute wherever it may be used. Characters using this attribute are shown normally instead. The LXE terminals do not support the underline character; if the attribute was used, the character would not be visible. The EMULATOR.INI for the VX1 terminal is the same except for NUM_ROWS and NUM_COLS parameters which are set as follows: NUM_ROWS = 20 NUM_COLS = 40 because of the larger display on the VX1. For more information about the EMULATOR.INI parameters, see Configuration using EMULATOR.INI. - If the termina'ls auto-suspend timer is not working when the Client is running, the POWER_OFF_TIMER keyword can be added to EMULATOR.INI to solve this problem. For more information please see Keyword: POWER_OFF_TIMER. - The serial port of the LXE MX1, MX2 and VX1 can be used by the Client to communicate with devices such as a serial printer. - The MX2 is actually the exact same terminal as the PSC/Percon Falcon 345 terminal - which is also covered in this documentation. For some more information about configuring that terminal please see Using the DCConnect Client on PSC/Percon Falcon 345 Terminals. Note: The 'falc_tsr' discussed in the above referenced section can be used on the LXE MX2 terminal as well. - By default all scanner input is routed through the keyboard and a carriage return is automatically appended to the scanner input. In this mode, the Client does not know which input data came from the scanner and what was keyed in. If there is a requirement for the LXE terminal to be able to distinguish between keyboard and scanner input (e.g. in order to require scanner input for a particular field) then falc_tsr.exe must be started prior to starting the Client, it must use the parameter 0x63 and the following three parameters must be added to EMULATOR.INI: USE_TSR_FOR_SCANNER = Y USE_TSR_FOR_KEYBOARD = Y TSR_INTERRUPT = 0x63 The use of the TSR falc_tsr.exe and these three keywords is covered in Using the DCConnect Client on PSC/Percon Falcon 345 Terminals. Using the DCConnect Client on PSC/Percon Falcon 345 Terminals ------------------------------------------------------------- This sections gives a few notes about using the DCConnect Client on the Percon Falcon 345 terminal. This terminal is also sold by LXE as the MX2 model terminal (which is also covered in this documentation). While the Percon Falcon 345 terminal is currently in use at one or more customers, we have not yet had the opportunity to do the in depth investigation needed to fully document all aspects of configuring these terminals. Please consult the manufacturer's documentation for any information required. - The Percon Falxcon 345 requires the flavor of the DCConnect Client that uses the FTP Software TCP/IP stack and the alternate video drivers. This is found in the \TCP_FTP\NLS directory where the Client files are installed. - Before the Client is started on the device, you should make sure that the screen is positioned at the top because this is where the Client displays its data. This is done by issuing the DOS 'cls' command. Note: The Percon Falcon 345 usually defaults to 80 column mode which is what the Client requires in order to be able to view 20 columns of data. If this is not the default setting, then use the DOS command: mode 80 to set the screen properly. This command also positions the screen at the top; so it is not necessary to issue the cls command after the mode command. In our testing, we set up EM.BAT to call the cls command as described and then call same cls command after the Client runs. This is done in order to properly position the screen after the Client ends. If cls is not done, the DOS prompt could be off the screen. Here is the EM.BAT we used on the Falcon terminal: cls falc_tsr 0x63 etspt cls The call to 'falc_tsr' is discussed below. - In order to have the ability to distinguish between keyboard and scanner input, the Client requires that a special TSR be running. This TSR, falc_tsr.exe, is found in the \FALCON directory where the Client files are installed. It must be called before the Client is start - as is the case in the EM.BAT that is described in the previous bullet. The interrupt 0x63 is specified as a parameter because the default interrupt 0x6a that the Client uses to talk to the TSR does not work properly on the Falcon terminal. The Falcon does not provide a way to set up both preamble and postamble characters for scanned bar codes. Therefore the SCAN_SENTINEL_CHARS keyword cannot be used in EMULATOR.INI. Instead, use the keywords: USE_TSR_FOR_KEYBOARD = Y USE_TSR_FOR_SCANNER = Y TSR_INTERRUPT = 0x63 and make sure 'falc_tsr.exe' is running before the Client is started. The use of TSR_INTERRUPT above tells the Client to use 0x63 for the interrupt to talk to the TSR instead of the default of 0x6a. For more info about this keyword, see Keyword: TSR_INTERRUPT. - Below is the content of the EMULATOR.INI we used on the Falcon terminals: NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 MAX_TRANSACTIONS = 10 PF_MAPPING = Y NUM_ROWS = 16 NUM_COLS = 20 TCPIP_HOST = 102.102.102.101 DONT_CHANGE_SCREEN_SIZE = Y IGNORE_UNDERLINE = Y USE_TSR_FOR_SCANNER = Y USE_TSR_FOR_KEYBOARD = Y TSR_INTERRUPT = 0x63 An explanation of each parameter follows: - NUM_PF_STRINGS = 0 and NUM_TOUCH_STRINGS = 0 are used to maximize the memory available in the terminal for downloaded files. - MAX_TRANSACTIONS = 10 sets the transaction buffer size to its minimum - to maximize the memory available for transactions. Change this if the terminal needs to buffer more transactions. - PF_MAPPING = Y allows the terminal's numeric keys to be used as the PF1 through PF10 keys. - NUM_ROWS = 16 and NUM_COLS = 20 tell the Client the dimensions of the terminal's physical screen. - TCPIP_HOST = 102.102.102.101 tells the Client the IP address of the DCConnect Server. Change this to make it correct for your DCConnect Server. - DONT_CHANGE_SCREEN_SIZE = Y is required in order to tell the Client to leave the screen size as it is. On many devices the Client tries to switch the screen size to 40 column mode but this does not work correctly on the Falcon terminal. - IGNORE_UNDERLINE = Y is required in order to tell the Client to ignore the underline attribute wherever it may be used. Characters using this attribute are shown normally instead. The Falcon 345 terminal does not support the underline character; if the attribute was used, the character would not be visible. - USE_TSR_FOR_SCANNER = Y and USE_TSR_FOR_KEYBOARD = Y allow the Client to distinguish between keyboard and scanner input. These are discussed in the previous section as well. - TSR_INTERRUPT = 0x63 tells the Client which interrupt to use when talking to the TSR. This is discussed in the previous Falcon section above. For more information about the EMULATOR.INI parameters, see Configuration using EMULATOR.INI. - If the terminal's auto-suspend timer is not working when the Client is running, the POWER_OFF_TIMER keyword can be added to EMULATOR.INI to solve this problem. For more information please see Keyword: POWER_OFF_TIMER. - The manufacturer of the Falcon terminal provides with the terminal, the Falcon Configuration Utility, which should be installed on your PC in order to load files to and configure the Falcon terminal. Please consult the documentation provided with the terminal for information about how to use this utility. Here are some notes about the use of that utility: - We ran it on our Windows 2000 test machine. - When installing the utility, be sure to specify the appropriate radio for the terminals that you have. - When it is started several buttons are provided, including ones to: - Custom - Set up a custom installation and configuration - Comm Settings - Change the serial port settings that the utility uses to communicate with the terminal. - Transfer Files - Transfer a set of files to or from the terminal - When you press the Custom option, you are asked to choose a configuration file (*.cfg). Default configuration files are provided based on the radio type(s) that you specified during installation. Be sure to pick the .cfg file name for that radio that includes 'tcp' in the name. For example: - ar_tcpip.cfg is for TCP/IP communications with an Aeronet radio - cs_tcpip.cfg is for TCP/IP communications with a Cisco radio - lu_tcpip.cfg is for TCP/IP communications with a Lucent radio Once you pick the .cfg file you will be prompted for the Program Settings file (*.prs). We started with default.prs. This file contains settings for active bar code symbologies as well as other things. Once you pick the .prs file, you will be presented a new set of buttons: - File Configuration - Lets you add to the set of files to be loaded to the terminal and gives you the opportunity to change the contents of them (e.g. net.cfg). - Program Settings - Lets you change which barcode symbologies are active and change their settings. Also lets you define miscellaneous parameters including scanning parameters such as whether Symbology Identifiers are included in the bar code data. - Comm Settings - Change the serial port settings that the utility uses to communicate with the terminal. - Download - Download the entire file configuration and program settings to a terminal. - If you choose the File Configuration option, you'll see a list of files that are to be loaded to the terminal. Initially these include all the network and radio related files. You will need to configure net.cfg and socket.cfg and you will need to add DCConnect Client related files. To change the contents of net.cfg, highlight in the list (the one for 32x) and click the Edit button. This will bring up another window that lets you specify the source and target. You won't be changing either of these but we'll use the Browse button and a little trick to allow you to edit the file: - Click the Browse button. This will bring up the 'Open' dialog - In the box at the bottom labelled 'Files of type' change the selection to 'All(*.*)'. You should now see net.cfg in the list above. - Use the right mouse button and choose the 'Open' option (not Select). If your Windows system is configured to bring up an editor for .cfg files, then net.cfg will be opened in that editor. If no application is currently set up to handle .cfg files, choose Notepad to be that application. - You can now make the appropriate changes to this file and save it. Consult your network administrator for appropriate values. In our testing with a terminal with a Cisco radio, we set values in the 'Link Driver cscodi' and 'Link Driver CISLEAP' sections. - After saving your changes, exit the editor. - Press Cancel on the Open dialog - Press Cancel on the Edit File Properties dialog Follow the same sequence to modify socket.cfg. You should only have to change two lines in this file. Consult your network administrator for the appropriate value: - Around line 4: IP address 99.99.99.34/24 Fill in the IP address your terminal should have. Leave the /24 if your subnet mask is 255.255.255.0 Change it to the appropriate value (indicating number of bits) if your subnet mask is different. - Around line 17: route add default if0 99.99.99.101 Fill in the IP address of your router/gateway. Do not change the 'IP address' statement around line 20. This is used simply to display what the IP address is this file is processed during a boot up of the terminal. To add files to the list, do the following: - Click the Add button. This brings up the 'File Selection' dialog. - Fill in the path where the file can be found on the PC. You can use the Browse button to locate the file. - Fill in the path where the file should go on the terminal. In our testing we put all DCConnect Client files in the root of drive c: Be sure you specify the path and filename in this second field. - One file that you will add will be the 'Main Application'. This the application that will be called by AUTOEXEC.BAT after the boot process completes. We typically use EM.BAT as the the main application; it adjusts the screen appropriately, starts the TSR and then starts the Client. When adding the file that is to be the Main Application, be sure to check the check box that is to the right of the 'Main Application:' label and under the 'Falcon 32x/33x/34x' heading. - When you have fill in all parameters, click OK. Repeat this process for all files. In our testing we add the following files: - em.bat - emulator.ini - etspt.exe - etscheck.lic - falc_tsr.exe and em.bat was set up to be the main application. After all files have been added, click the Next button on the 'File Configuration' screen. The next screen lets you set some memory options, connectivity options and select which DOS files are loaded. The defaults will probably be sufficient. However, if you will be using the 'mode' command, be sure to check the 'DOS Files ...' check box and then click the 'More' button so that you can highlight 'Mode.com' for downloading. Clicking Next again on the File Configuration screen takes you to the last screen where you can browse/modify AUTOEXEC.BAT CONFIG.SYS or a user text file. You should not have to change anything here. Before clicking 'Done' use the Save button to save your configuration. If you have not already done so, choose an alternate name for the .CFG file - one that is appropriate for your location. For example, we saved our configuration as: IBMFalcon345.cfg In the future you will use this new name when selecting a configuration file to work with. After the configuration is saved, click the Done button. This will take you back to the 'Custom Configuration' screen. - If you choose the Program Settings option, the 'Program Settings' screen is shown. The first few pages let you enable/disable and set options for various bar code symbologies. Change these as needed. After the bar code options are some scanner options. By default the 'Symbology Identifiers' are probably not checked. If you need to identify the bar code symbology (using the CFR API SenRead) then be sure to check this box. The Auto-Terminator character should always be set to 'Carriage Return' in order for the falc_tsr.exe to properly read bar codes. On the last page, there are other options for keyboard and sound. Change them as needed. Before clicking 'Done' use the Save button to save your program settings. If you have not already done so, choose an alternate name for the .PRS file - one that is appropriate for your location. For example, we saved our configuration as: IBMFalcon345.prs In the future you will use this new name when selecting a Program Settings file to work with. After the program settings are saved, click the Done button. This will take you back to the 'Custom Configuration' screen. - The default serial port settings for downloading to the terminal are COM1 and a baud rate of 38400. If you need to change either of these, select the Comm Settings button and make the changes. - Once you have changed the configuration and program settings and set the serial port settings, you are ready to download the terminal. Press the Download button to start this process. When the Download button is pressed, the Falcon Configuration utility will process the specified files and will then present a screen where you can verify the serial port parameters and the set of files that will be loaded. The 'Program Settings' that you set up earlier are transferred in a file called 'bparams.ini'. Any modifications you made to CONFIG.SYS and AUTOEXEC.BAT will be transferred as CONFIG.INS and AUTOEXEC.INS respectively. Before pressing OK on this screen, make sure you have attached the serial cable between the terminal and the PC. Then from the DOS prompt on the terminal, enter 'ld' to tell the terminal to look for a download. Now press the 'Download' button on the PC. The download can take quite a few minutes. When it completes, reboot the terminal. Verify that the terminal can be pinged from the PC that is running the DCConnect Server and verify that the DCConnect Client starts up properly on the terminal. If you cannot ping the terminal, recheck the values in net.cfg and socket.cfg. You can also reboot the terminal and try to look for error messages that are given when the radio and network drivers start up. - If you need to update a file or two on the terminal, such as EMULATOR.INI or ETSPT.EXE you can use the 'Transfer Files' from the top level screen of the Falcon Configuration Utility to do this. When you click the 'Transfer Files' button, the 'File Transfer' screen is shown. Here you can build a list of files to be transferred. Clicking the Add button allows you to add a file to the list - after specifying the source and target of that file. When all the files have been added to the list, click the Send button. You'll be presented the same screen that you get when clicking the 'Download' button from the Custom Configuration screen. Verify the serial port parameters and the list of files. Make sure the serial cable is connected and start 'ld' from the terminal's DOS prompt. Then click the OK button to start the transfer. If you want to save this list of files, choose the Save option and enter a name for the list. This list can be used the next time you select 'Transfer Files' from the main screen by selecting the 'Browse...' button after the 'File Transfer' screen is shown. Note that from the 'File Transfer' screen you can also upload files from the terminal to the PC by using the Receive button instead of the Send button. - Once you've used the Falcon Configuration Utility to update one terminal, you can use it again for each of your terminals. However, you will have to change the contents of socket.cfg and perhaps net.cfg for each terminal in order to change the IP address and any other parameter that is unique for each terminal. This can be a tedious process if a lot of terminals must be loaded. One way to speed up this process is to make use of the files that are generated by the Falcon Configuration Utility and set up a batch file that builds socket.cfg and net.cfg from command line parameters. We'll run through an example with socket.cfg to illustrate. The configuration utility generated a socket.cfg that looks similar to: # Socket.cfg sets the options for Data Light socketp.exe # The section xxx.xxx.xxx.xxx is for this machines IP # /24=number of bits for class c IP address 10.19.133.201/24 # Interface sets the physical interfaces # pdr=packet driver # if0=interface_card # dix=frame type # 1500=MTU # 10=Buffers # 0x69=ioaddr Interface pdr if0 dix 1500 10 0x69 # When using a gateway (IP router) to the rest of the world, # replace "XXX.XXX.XXX.XXX" with your gateway ip. route add default if0 10.19.133.1 # Redisplay IP information IP address # options, refer to documentation to change ip ttl 15 tcp mss 1460 tcp window 2920 Assuming all terminals will be using the same router/gateway, then the only part of this file that has to be changed for each terminal is the 4th line where the IP address is specified. We will split this file into socket.1 and socket.2 which will be the parts that come before and after the line that is different for each terminal. Therefore socket.1 will contain: # Socket.cfg sets the options for Data Light socketp.exe # The section xxx.xxx.xxx.xxx is for this machines IP # /24=number of bits for class c and socket.2 will contain: # Interface sets the physical interfaces # pdr=packet driver # if0=interface_card # dix=frame type # 1500=MTU # 10=Buffers # 0x69=ioaddr Interface pdr if0 dix 1500 10 0x69 # When using a gateway (IP router) to the rest of the world, # replace "XXX.XXX.XXX.XXX" with your gateway ip. route add default if0 10.19.133.1 # Redisplay IP information IP address # options, refer to documentation to change ip ttl 15 tcp mss 1460 tcp window 2920 A batch file is then created which takes as a parameter the terminal's IP address. This batch file builds a socket.cfg from the two parts, inserting the statement for the IP address in the middle. We used the following LOADFALC.BAT (located in the 'temp' directory where the Falcon Utility is installed) to build both socket.cfg and net.cfg. In our case, each terminal had a unique user name and password in the 'Link Driver CISLEAP' section: @echo off if "%3" == "" goto needparms echo Creating and copying socket.cfg . . . type socket.1 > socket.cfg echo IP address %1/24>> socket.cfg type socket.2 >> socket.cfg copy socket.cfg C:\Falcon\rf\network\socket.cfg echo Creating and copying net.cfg . . . type net.1 > net.cfg echo user "%2">> net.cfg echo password "%3">> net.cfg type net.2 >> net.cfg copy net.cfg C:\Falcon\32x\rf\NET.CFG echo Calling download.bat . . . call download.bat goto end :needparms echo . echo . You must provide the following parameters: echo . echo . - IP address to use for this terminal echo . - LEAP User Name echo . - LEAP Password echo . echo . For example (password not accurate): echo . echo . %0 10.19.133.201 TERMB665 xxxxxxx echo . :end After socket.cfg and net.cfg are generated, they are copied to the location where the Falcon Configuration utility expects them to be. After the files are generated and copied, download.bat is called to perform the download process. DOWNLOAD.BAT works in conjunction with RESPONSE.BAT and FILELIST.RSP (all located in the 'temp' subdirectory) to load the files that you set up initially with the Falcon Configuration Utility. FILELIST.RSP contains the list of files that will be loaded. Be sure that the serial cable is attached and 'ld' has been started on the terminal before running LOADFALC.BAT. Note the use of 'type' above for appending the parts of socket.cfg and net.cfg together. 'type' is used instead of, for example: copy net.cfg+net.2 net.cfg because the latter method can result in end-of-file characters in the middle of the file. - The serial port of the PSC/Percon Falcon 345 can be used by the Client to communicate with devices such as a serial printer. Using the DCConnect Client on Selected Symbol Spectrum 24 Terminals ------------------------------------------------------------------- This section describes what additional configuration must be done when using the DCConnect Client on one of the following Symbol Spectrum 24 terminals: PDT3140 LRT3840 VRC3940 WSS1040 WSS1060 PDT6840 VRC6940 All of these terminals have the same basic architecture and therefore all can use the same configuration. For more detailed information about using the above Spectrum 24 terminals please refer to the following sections: - Hardware and Software Requirements for Spectrum 24 Terminals - Drive Arrangement on Spectrum 24 Terminals - Transferring Files to a Symbol Spectrum 24 Terminal - Spectrum 24 CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - Rebooting the Spectrum 24 Terminal - Spectrum 24 Bar Code Configuration - Alternate method for building an INIT.EXE initialization program - Serial Port Use on Symbol Spectrum 24 Terminals - Starting the Client on the Symbol Spectrum 24 Terminal - Setting Up a Spectrum 24 Terminal from Scratch Hardware and Software Requirements for Spectrum 24 Terminals ------------------------------------------------------------ The supported Spectrum 24 terminals, require no additional hardware. The terminals are shipped with the Novell Software TCP/IP stack, drivers and terminal configuration tools already installed. Any additional software that is needed to load and run the Client on Spectrum 24 terminals is provided by the DCConnect Client product. As of version 1.40T of the DCConnect Client, there is now a requirement that the Symbol terminal be loaded with version 4.02.07 of the Lan Workplace (LWP) flash load from Symbol. That flash load includes newer flash drivers that can handle both old and newer flash chips in the Symbol terminals. The older flash load does not work with the newer flash chips. Note: The level of DCConnect Client files that works with the 4.02.07 Symbol flash also works with the newer Symbol flash version 5.00.??. As of September 2003, the 4.02.07 version of LWP was available from Symbol using the following link: Download Spectrum24® Series 3000 Flash Disk Architecture Download the file LWP4_02_07.ZIP and the associated installation documentation. Note: Support for allowing a hostname for the TCPIP_HOST keyword and for the -h command line parameter is not provided for the Symbol Spectrum 24 terminals. This is because including this support makes the executable too large to run properly in the terminal. Drive Arrangement on Spectrum 24 Terminals ------------------------------------------ The Spectrum 24 terminal can have a A:, B:, D: and E: drive. Drives A:, B: and E: are read-only NVM(Non-Volatile Memory) drives. Special utilities, provided with the DCConnect Client product, are used to build and load the images for drive B: Drive E: is the drive onto which the DCConnect Client files are copied during the flash process. This process temporarily makes drive E: writable before doing so. But after the flash process completes, drive E: is made read-only again. Drive D: is a RAM drive. The Client must have drive D: as the current drive so that transactions can be written to 'disk'. It is recommended that the RAM drive be set at a minimum size of 20K. The RAM disk size is defined by INIT.EXE which is one of drivers that is included during the flash build. The RAM disk size can be changed using two different methods. The easiest method is to bring up the init.bat file in an editor. There is only a one line entry in the file, "ramchg xx". Where xx equals the size of the ram disk in Kbytes. This file is already included in the flash image (see MAKEHEX.BAT that is part of the self-extracting zip file SPEC24\FLSHBLD.EXE). Once the flash is downloaded to the terminal at the next boot the RAM disk will be resized to the new value. The second method is to create a new INIT.EXE driver. Please see Alternate method for building an INIT.EXE initialization program. Transferring Files to a Symbol Spectrum 24 Terminal --------------------------------------------------- Files are transferred by connecting a cable between the Symbol docking station and the PC COM port. The required cable should be provided with the docking station. The files to be loaded to the terminal must first be converted into a HEX image. This step is accomplished by running the MAKEHEX tool passing as a parameter the type of Spectrum 24 terminal for which you wish to build the HEX image. The MAKEHEX tool uses a response file (GENRSP.RSP) to determine what files should be included in the HEX image. Once the files are in a HEX image format they are downloaded using the LOADTERM tool. The following response file was used during testing to build the NVM HEX file that was then downloaded to the terminal: First response file - genrsp.rsp -------------------------------- nullsys.hex /s command.com /c apphex.sys /a apphex.bat /r init.exe /r intb50c.exe ! /u err3000.sys /u pkunzjr.com /u flashdsk.sys /u flshctl.exe /u flshfmt.exe /u getnum.exe /u chk_id.exe /u ident.txt /u _l.bat ! /u _files.zip /l 62995-01 /h /256 /320 em.hex Note: The file _files.zip includes the following files: init.bat ; Sets the size of D: drive ram disk. etscheck.lic ; DCConnect Client license file scan3000.exe ; Symbol Scanner file s24_tsr.exe ; DCConnect Client scanner/serial port driver scanparm.exe ; Symbol Scanner configuration tool scanparm.ini ; Symbol Scanner configuration file etspt.exe ; DCConnect Client - Novell flavor for Spectrum 24 emulator.ini ; DCConnect Client ini file em.bat ; DCConnect Client startup file (created from one of ; the other .BAT files - PDT6840.BAT, LRT3840.BAT, ...) ; when MAKEHEX.BAT runs flshprep.bat ; Used to allow the Client files to be updated after flashing The last file in the list above, flshprep.bat, must be used in order to reload the DCConnect Client hex file (generated by makehex.bat) to the terminal. This should be run before you use loadterm.bat to load the terminal with the updated hex file. However, it can be run afterwards if you forgot to do it before; you'll just have to cold-boot the terminal again after doing so. FLSHPREP.BAT temporarily makes drive E: writable so that E:\EM\_EXIST and E:\EM\IDENT.TXT can be deleted; then it makes drive E: read-only again. This is necessary because the AUTOEXEC.BAT will update drive E: with the downloaded Client files only if E:\EM\_EXIST does not exist. Spectrum 24 CONFIG.SYS, AUTOEXEC.BAT and Network Configuration -------------------------------------------------------------- The default terminal CONFIG.SYS file was used during our testing: When the NVM HEX file is created, one of the files that is included in the image is APPHEX.BAT. This file will become the AUTOEXEC.BAT once the image is loaded on the terminal. Following is the APPHEX.BAT file that was used during our testing: @echo off path b:;a:;e: e: if exist \em\_exist goto chdir flshctl /w /d set _FLSH=on md \em :chdir cd\em chk_id b: e: if errorlevel 1 goto chain if "%_FLSH%" == "" flshctl /w /d set _FLSH=on cls echo. echo. echo Loading application echo y > d:y.rsp echo Please wait... echo Copying to flash... if exist _exist del *.* < d:y.rsp > nul echo exist>_exist pkunzjr -o b:_files echo @call e:\em\em.bat > run.bat copy b:ident.txt > nul if exist e:\swupd\em.txt copy b:ident.txt e:\em\em.txt > nul echo Flash update echo complete. :chain if "%_FLSH%" == "on" flshctl /ro set APP= set _FLSH= cd\ d: flshauto The APPHEX.SYS that is part of the NVM HEX image becomes CONFIG.SYS once the image is loaded on the terminal. We did not change this file during our testing. In order to set the terminal's radio parameters (e.g. ESS Id) and TCP/IP parameters (e.g. Subnet Mask, Default Router, MU IP Address) a special program on the terminal must be used. For older versions of the Symbol LWP flash (4.02.07 and earlier) this program was called: CFG24.COM For newer versions of the Symbol LWP flash on terminals with 802.11 radios, this is called: CFG11.COM Make sure the current drive is drive D: when you run this program. Note: In CFG11, the network parameters are found by selecting the 'Boot Mode' option from the main menu. Press Clear/Esc to leave this sub-menu. After the changes are made, choose the Exit option - which will save them first. Then cold-boot the terminal as described in the section Rebooting the Spectrum 24 Terminal. If upon Exiting CFG24/CFG11 you get a "File I/O ERROR" message, it is probably because there is no free space on drive D: The CFGxx program writes the new configuration to a temporary file before replacing the NET.CFG. The default configuration of the DCConnect Client and the default size of the RAM drive D: are set up so that there is very little space left over after the Client creates its transaction logfiles. To get around this problem, you can delete LOG*.* from the D: drive (they are recreated the next time the Client starts up) and then rerun the CFGxx program. You could also decrease the default number of transactions (100) defined for the MAX_TRANSACTIONS parameter in EMULATOR.INI - which of course means the hex image would have to be recreated and reloaded. Rebooting the Spectrum 24 Terminal ---------------------------------- To Cold-Boot the terminal: 35-key PDT3140 Press and hold the [SPACE], [UP-ARROW] and [FUNC] keys. Press and release the [ON/OFF] key. Release [SPACE], [UP-ARROW] and [SHIFT] keys. 46-key PDT3140 LRT3840 PDT6840 Press and hold the [A], [B] and [D] keys. Press and release the [PWR] key. Release the [A], [B] and [D] keys. 54-key VRC3940 Press and hold the [F1], [F4] and [ENTER] keys. Press and release the [On/Off] key. Release the [F1], [F4] and [ENTER] keys. WWS1040 WWS1060 Press and hold the [RIGHT-ARROW] and [ENTER] keys. Press and release the [PWR] key. Release the [RIGHT-ARROW] and [ENTER] keys. To boot the terminal into Command Mode: 35-key PDT3140 Press and hold the [BKSP] and [SHIFT] keys. Press and release the [On/Off] key. Release [BKSP] and [SHIFT] keys. 46-key PDT3140 LRT3840 PDT6840 Press and hold the [F] and [I] keys. Press and release the [PWR] key. Release the [F] and [I] keys. 54-key VRC3940 Press and hold the [A] and [D] keys. Press and release the [On/Off] key. Release the [A] and [D] keys. WWS1040 WWS1060 Press and hold the [ENTER] and [FUNC] keys. Press and release the [PWR] key. Release the [ENTER] and [FUNC] keys. Spectrum 24 Bar Code Configuration ---------------------------------- When the terminal boots, the SCAN3000.EXE driver is started on the terminal to decode the different scanner symbologies. The SCAN3000 driver, as shipped by Symbol, supports most of the standard symbologies and in most cases the default scanner decode set is all that is required. SCAN3000 scanner decoders and characteristics can be modified by running the SCANPARM.EXE tool on the terminal. Decoders can be activated or deactivated if the decoder was previously included in the SCAN3000 driver. You tell SCANPARM.EXE which settings should be changed by creating a SCANPARM.INI. The Client product CD includes a sample SCANPARM.INI (and backup SCANPARM.SMP) in the self-extracting zip file \SPEC24\FLSHBLD.EXE. This sample .INI lists all of the possible parameters as of the 3.xx version of the Symbol LWP flash. This is the same set of parameters for versions 4.02-07 and 5.00-38 of the LWP flash. However, there's no guarantee Symbol won't add additional parameters in the future. The default value for some of the parameters has changed between versions of LWP flash. Therefore you should not use the complete sample SCANPARM.INI file. Create a small .INI file that includes only the parameters you need to change along with the appropriate section header (the words enclosed in square brackets such as [DECODERS] or [CHARACTERISTICS]). For example, if you wanted to be able to scan DUN14 barcodes (which are really I2OF5 format but different length) create a SCANPARM.INI containing only the following: [DECODERS] CODE_I25 State=enable MIN= 12 MAX= 18 DEP= 6 Or if you just wanted to enable the spotting beam, then create a SCANPARM.INI file that contains just the following: [MISC] SpottingBeam=enable If you wanted to do both, then create a SCANPARM.INI that contains both sets of lines: [DECODERS] CODE_I25 State=enable MIN= 12 MAX= 18 DEP= 6 [MISC] SpottingBeam=enable Once you have created SCANPARM.INI you will need to update the appropriate .BAT file(s) so that SCANPARM.EXE is called to process the SCANPARM.INI file. The .BAT file(s) to change are dependent on the terminal model(s) you are using and will be one or more of the following (included in FLSHBLD.EXE): LRT3840.BAT PDT3140.BAT PDT6840.BAT VRC3940.BAT WSS1040.BAT At the start of all of these files you will find the following four lines: if "%1" == "" goto restrt scan3000 rem scanparm /c e:\em\scanparm.ini :restrt You'll notice that the call to 'scanparm' is currently commented out. Simply remove the 'rem ' at the beginning of the 3rd line so that the four lines now look like: if "%1" == "" goto restrt scan3000 scanparm /c e:\em\scanparm.ini :restrt Do this for all of the appropriate .BAT files. MAKEHEX.BAT already includes SCANPARM.INI so you do not have to change that .BAT file. The /C parameter tells SCANPARM.EXE to automatically configure the scanner using the parameters in the specified .INI file merged with the current scanner settings. From the command line of the Symbol terminal you can run SCANPARM.EXE two other ways that will allow you to see the scanner settings: - Running SCANPARM.EXE without any parameters brings up menus that allow you to view all of the current scanner settings - and change them if necessary. - Running SCANPARM.EXE with a file name but without the /C parameter shows the same menus but the values you see will reflect the merging of the values from the specified file. Note that when specifying a file name as a parameter to SCANPARM.EXE that file must either exist in the current directory or you must provide the full path to the file. By running SCANPARM.EXE on the terminal, you can figure out what to put into SCANPARM.INI. 1) First make sure that the D: drive is the current drive and then run SCANPARM at the command line without any parameters. 2) From the main menu choose the Edit Menu option 3) Use the sub-menus to change whatever options need to be changed. The keys work as follows: - Accepts the settings on the current screen and moves to the next one - Moves up to the next value for the current field - Moves down to the next value for the current field - Move to the next field on the screen - Toggles the Enable/Disable value for bar codes - Returns to the previous menu (keeping any changes) 4) When done, use Esc to get back to the main menu 5) From the main menu choose the option to 'Save to disk'. This will generate SCANPARM.INI in the current directory (should be on drive D:). 6) You can also use the 'Update Scanner' option to have the changes take effect immediately so that you can test them. 7) Choose the Exit option to exit to the DOS prompt. 8) You can now use the 'type' command to see the contents of the SCANPARM.INI that was generated by SCANPARM.EXE: type scanparm.ini The file contents will scroll by the screen. You can use the CTL key followed by the C key to stop the file output. It may take a few attempts to stop the scrolling at the right point. Use the F3 key (Func - 3) to recall the 'type' command that you entered initially. That way you don't have to keep typing it in. 9) Once you find the proper parameters, you can create your own SCANPARM.INI with the same subset of parameters - but make sure you include the appropriate heading enclosed in square brackets (e.g. [DECODERS] or [CHARACTERISTICS]) before the parameters that you add. Alternate method for building an INIT.EXE initialization program ---------------------------------------------------------------- Most of the default settings of the terminal are sufficient in order for the DCConnect Client terminal to be able to run. However, there may be situations where the default settings need to be changed. Symbol provides a tool in their Application Developer's Toolkit (ADK), called BLDINIT, that can be used to generate an executable file, INIT.EXE, that can change some of the terminal's default settings. INIT.EXE can change display settings, keyboard settings, COM port settings, and other miscellaneous settings. The BLDINIT tool provides a menu that lets you change the value for any of these settings. When you save the settings, the BLDINIT tool generates 'C' language source files that require the availability of a Microsoft Visual C++ version 1.5 16-bit compiler to create the INIT.EXE initialization program. However, Microsoft no longer markets this version of 'C' compiler. If you do not have access to the Microsoft 'C' compiler or the ADK, there is an alternative method for changing the values of a few settings. Included in the FLSHBLD.EXE self-extracting zip file that is in the directory where the Client is installed, under the SPEC24 directory, is a prebuilt flavor of INIT.EXE that sets values for the following settings: Size of the RAM drive Backlight timeout delay value Block Cursor on or off Note: If only the size of the RAM size needs to be changed, then then you can simply change the contents of the INIT.BAT file rather than setting up a separate INIT.EXE file. INIT.BAT calls the program RAMCHG.EXE that is part of the Symbol flash for the terminal. INIT.BAT is included in the FLSHBLD.EXE self-extracting zip file. All other configuration settings are defaulted to the values we used during our testing. In addition to the INIT.EXE found in the .ZIP file, the Client also includes the program CFG3000.EXE in the \SPEC24 directory. This program is used to modify the values of the above listed settings directly in the INIT.EXE file. The CFG3000 configuration tool is started from a PC server command line. The three different configuration options can be selected, changed and saved by using the following keys: F1 - Help F9 - Keys Help F2 - Change the RAM disk size F3 - Change the backlight timeout value F4 - Active or deactive the terminal block cursor F5 - Save change and exit ESC - Exit At start up, if the CFG3000 tool locates a copy of the INIT.EXE file in the current directory it will ask if you wish load its configuration as the starting point or use the default values. Once you have made any changes to the configuration you will be asked if the changes should be saved. You can exit the tool without saving the changes at anytime by pressing the 'ESC' key. If changes are saved, the updated copy of the INIT.EXE program can found in the current directory. Once the INIT.EXE has been created as you need it, it will automatically be included as part of the hex files that you create because it is already referenced in GENRSP.RSP. It is also automatically called when the server boots up. Serial Port Use on Symbol Spectrum 24 Terminals ----------------------------------------------- As of version 1.40O of the Client, support for the serial port on Symbol Spectrum 24 terminals is now possible. In order to use the serial port, the program S24_TSR.EXE (provided with the Client) must be started before the Client and the keyword USE_TSR_FOR_RS232 must be added to the EMULATOR.INI file. For more information see Keyword: USE_TSR_FOR_RS232. Prior to version 1.40O, the serial port was not supported on any Spectrum 24 terminals. Starting the Client on the Symbol Spectrum 24 Terminal ------------------------------------------------------ S24_TSR.EXE must be started before the Client. This is a TSR (terminate and stay resident) program that controls the turning on and off of the terminal laser scanner. Before starting the Client, the current drive must be the RAM drive. This is necessary because the Client opens and writes to data files. Because the Client must use the RAM drive as the current drive, the ETSCHECK.LIC file must be copied to that RAM drive (drive D:) before the Client can run successfully. When starting the Client in a Spectrum 24 terminal you must use the terminal device command line switch to indicate the model of terminal being used. For example, if your terminal type is a LRT3840 the command line switch would be -dLRT3840. For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. All of the requirements above are satisfied with the default set of files provided in the self-extracting zip file, FLSHBLD.EXE, which can be found on the in the SPEC24 directory where the Client is installed. This zip file includes a series of files that define the startup sequence on the terminal. Steps in this sequence include setting the size of the RAM drive, copying needed files to the RAM drive D: and starting the DCConnect Client using the command line switch required for the terminal type that is indicated when the flash image is built. The following section explains how to use the files in FLSHBLD.EXE to setup and configure the terminal. If you end the DCConnect Client and go to a DOS prompt, the Client can be restarted by doing a cold-boot of the terminal or by simply running EM.BAT by entering the following at the DOS prompt: EM If you have trouble starting the Client (it returns to the DOS prompt), make sure that the terminal can be 'pinged' from the DCConnect Server. If not, you may need to make changes to the radio parameters or TCP/IP parameters. If the terminal can be 'pinged' make sure that the Client is being started with drive D: being the current drive and that there is enough space on drive D: to create LOGFILE.NDX and LOGFILE.LOG. LOGFILE.NDX is 12 bytes and LOGFILE.LOG is 131 bytes for each transaction (defined by MAX_TRANSACTIONS). So if MAX_TRANSACTIONS is 100, LOGFILE.LOG will be 13100 bytes. If there is not enough to accommodate the logfiles, you will have to decrease the MAX_TRANSACTIONS parameter in EMULATOR.INI, regenerate the HEX image and reload the terminal. Setting Up a Spectrum 24 Terminal from Scratch ---------------------------------------------- The following instructions assume the terminal has the standard factory Novell flash installed. All new terminals received from Symbol have this flash flash installed. If the terminal doesn't have the standard flash, you can download the files needed to install the flash, free of charge, from the Symbol web site. 1) Connect a cable between the Symbol docking station and the PC server's COM port. The required cable should have been provided with the docking station. If you didn't get the cable with the docking station, a null modem cable can be used, but it will require a gender changer. Insert the terminal into the docking station and make sure the terminal is powered off by pressing the [PWR] key. 2) Create a work directory on the PC server. Copy the file FLSHBLD.EXE from the SPEC24 directory where the Client is installed into the new work directory. Switch into the work directory on the PC server and type FLSHBLD on the command, and press enter. This is a self-extracting pkzip file, it will expand out into all the files that are required to load and configure the terminal. You will need one additional file; copy the ETSCHECK.LIC file from the directory where the DCConnect Client is installed into the PC server work directory. 3) Two of the files included in FLSHBLD.EXE define the size of both the D: RAM drive and transaction log file. The default configuration is 20 Kbytes for the size of the RAM disk which can accommodate a transaction log file that can hold around 135 transactions at 131 bytes each (although by default MAX_TRANSACTIONS is set to 100 so that there is some free space on the RAM disk). Other files that must reside on the RAM disk are DCConnect Client files such as EMULATOR.INI and ETSCHECK.LIC and terminal generated files such as NET.CFG and _AP.BAT. The transaction log is needed in order to store transactions during periods when the terminal is out of range of the Access Point. Transactions can be entered on the terminal and they will be written safely into the transaction log file. The next time the terminal comes into range of the Access Point the stored transactions are automatically sent to the DCConnect Server. Since the RAM drive is a part of the RAM storage area the larger the RAM drive the less memory that is available for transaction programs, validation files, and custom function routines( CFRs). The default configuration frees up to 192 Kbytes RAM memory. Note: Because the transaction logfile is on a RAM drive, which is volatile memory, it will be destroyed if the terminal is cold-started or a total loss of battery power occurs. If you need more free memory for your transaction programs and files, the size of the D: RAM drive can be made smaller by modifying the parameter in the INIT.BAT file. To make the change, just bring up the INIT.BAT file in any editor. There is only a one line entry in the file, "ramchg xx". Where xx equals the size of the RAM disk in Kbytes. As an example if you need to resize the RAM drive to 15 Kbytes, you would change the parameter to "ramchg 15". Any time the RAM drive is made smaller, the transaction log file size must also decrease. The size of the Transaction log file is controlled by the MAX_TRANSACTIONS parameter in the EMULATOR.INI file. This value is maximum number of transactions the file can store. For more information about using this and other EMULATOR.INI file parameters, please refer to Configuration using EMULATOR.INI. Parameters that are recommended in EMULATOR.INI are: NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 MAX_TRANSACTIONS = 100 USE_TSR_FOR_SCANNER = Y USE_TSR_FOR_RS232 = Y PF_MAPPING = Y TCPIP_HOST = aaa.bbb.ccc.ddd where 'aaa.bbb.ccc.ddd' is the IP address of the DCConnect Server. 4) If any of the default scanning symbologies and/or parameters need to be , changed, then create SCANPARM.INI and modify the appropriate .BAT files as described in Spectrum 24 Bar Code Configuration. To best way to determine what the current scanner settings are for the Symbol LWP flash level that is loaded is to run SCANPARM from the terminal DOS prompt and navigate through all of the menus. 5) On the PC server command line enter "MAKEHEX terminal type". Where "terminal type" would be the type of Symbol terminal you are going to load the new flash on. The available types are PDT3140, LRT3840, VRC3940, WSS1040 or PDT6840. As an example, if you wish to build the HEX image file for a terminal type PDT6840, you would enter the following command: MAKEHEX PDT6840 If there are no errors with the HEX image build, you will receive a message indicating that the build was successful. The file EM.HEX is created; in addition EM.HEX is copied to xxxxx.HEX where 'xxxxx' matches the parameter passed on the command line when MAKEHEX.BAT was run. This is usefull if you have several models of Symbol terminals for which .HEX files must be created. 6) The next step is to enter the following command on the PC server command line: LOADTERM PDT6840 The following messages will display: Loading PDT6840.HEX . . . Press [ENTER] when remote is ready. ESC to abort... Don't press enter yet! Note: You can run LOADTERM.BAT without any parameters; in this case the name of the .HEX file to be loaded is assumed to be EM.HEX. 7) If this is not the first time that you are loading the DCConnect Client .HEX file to this terminal, please run: FLSHPREP from the command line so that the previous version of the Client is removed from drive E: For more information about this process and why it is necessary, see Transferring Files to a Symbol Spectrum 24 Terminal. 8) The terminal must now be put into "Program Loader" mode to start the the process of downloading the new HEX image. Some of the terminals in the Spectrum 24 family have fewer keys than others. The keys that are used to set the terminal into Program load mode and start a cold reboot are different depending on which model you are loading. In the following steps you will find a number of different key combinations that must be used to perform loading process. Be sure only to use the key combination that pertains to the terminal model you are loading. On the terminal do the following steps to put it in the mode for downloading: a) Turn the terminal off by pressing the [PWR] or [On/Off] key. b) Boot the terminal into Command Mode as described in the section Rebooting the Spectrum 24 Terminal c) The terminal will boot into command mode. d) Press the down arrow until "Program Loader" displays. e) Press [ENTER]. A erase EEPROM warning will display; press [ENTER]. f) Once the erase completes the Comm Parameters screen will display. g) Using the down arrow select Baud = 38400 press [ENTER].. h) Data Bits = 7 [ENTER]. i) Parity = odd [ENTER]. j) Flow Control = Xon/Xoff [ENTER]. The terminal will display "Start?". Press [ENTER] on the terminal. 9) Immediately press [ENTER] on the PC server. (the terminal side must be started before the PC side). The HEX image download will now start. You should begin to see status displayed on both the terminal and the server. A successful reflash will display "Bytes Send 100% "on the server and "Status 0000" on the terminal. The terminal must now be cold booted to complete the flash update and configuration. 10) On the terminal do the following steps to cold boot the terminal: a) Turn the terminal off by pressing the [PWR] key. b) Cold-Boot the terminal as described in the section Rebooting the Spectrum 24 Terminal c) After the cold boot starts you will begin seeing a series messages about inflating files. The terminal is actually updating flash with the files that were just loaded to it. After the reflash step completes, the terminal will display the message, "flash update complete". You don't have to do anything yet d) Next the terminal will display, "software update?". Just let this message time out or answer no. e) The terminal may display, "remove from cradle". If this message displays remove the terminal from the cradle and it will continue to boot. On some terminals a menu will display, one of the options will be "EM". Select this option to continue until the Client logo screen displays or it comes up with the following message: Terminal cannot associate with AP you're out of range or not configured. Ctrl-C to end or other key to retry. If you receive this message, press the [CTL] key followed by the 'C' key. A "Halt Batch Process(Y/N)" message with display. Enter 'Y' for yes and the DOS command line will now display. The reason this message displays is because either there is a NET_ID mismatch or the access point is not powered on. The Net ID is used to allow multiple wireless LANs to co-exist in a single environment by assigning different Net IDs for each LAN. The terminal Net ID must match the one that is being used in the wireless LAN that connects to the DCConnect Server. If you only have one access point, it is most likely set to the default Net ID 101. If this is not the case, you will have to refer to the access point documentation on how to view and configure the access point's Net ID. f) In the case where the Access Point is powered on and the NET_ID matches, the Client logo screen will appear. Press the [=] key to display the main Client menu. On most terminals this is generated by pressing the [FUNC] key and then the [ENTER] key. If this combination doesn't work on the model you are loading, refer to the Terminal documentation for the correct key combination to generate an [=] key. When the main menu displays, select "Exit to DOS" by typing a [X] and pressing [ENTER]. g) On the DOS command line type cfg24 or cfg11 and press enter. The Terminal Configurator menu will display and items can be selected by moving up and down the list using the up/down arrows. The options that need to be configured before the terminal can successfully communicate with the DCConnect Server are "Subnet Mask", "Default Router", "MU IP Address" and "ESS ID" (aka Net ID). The other parameters can be left as default. Note: If running CFG11, the ESS ID is on the first menu, but to get to the other parameters you must first choose the 'Boot Mode' option. After you set the network parameters, press Esc/Clear to return to the main menu. Choose the Exit option to save the configuration and exit the program. h) Once you have completed the Terminal Communication setup, follow the cold boot instructions in steps a) and b) above to reboot the terminal. When the cold boot completes, the Client will automatically start and should be able to communicate with the DCConnect Server if the server is running. Using the DCConnect Client on Teklogix 7035 Terminals ----------------------------------------------------- This sections gives a few notes about using the DCConnect Client on the Teklogix 7035 terminal. While the Teklogix 7035 terminal is currently in use at one or more customers, we have not yet had the opportunity to do the in depth investigation needed to fully document all aspects of configuring these terminals. Please consult the manufacturer's documentation for any information required. - The Teklogix 7035 requires the flavor of the DCConnect Client that uses the FTP Software TCP/IP stack and the alternate video drivers. This is found in the \TCP_FTP\NLS directory where the Client files are installed. - Drives C: and D: are ROM drives that can only be modified using a process that entails creating an image of the contents of that drive and then putting the terminal in a special mode before transferring image to it. - Drive A: is the read-write drive on the Teklogix terminal. It is therefore the drive that the Client must run in. - Before the Client is started on the device, you should make sure that the screen is positioned at the top because this is where the Client displays its data. This is done by issuing the DOS 'cls' command. In our testing, we set up EM.BAT to call the cls command as described and then call same cls command after the Client runs. This is done in order to properly position the screen after the Client ends. If cls is not done, the DOS prompt could be off the screen. Here is the EM.BAT we used on the 7035 terminal: @echo off cls a: cd \ etspt cls - Below is the content of the EMULATOR.INI we used on the 7035 terminals: NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 MAX_TRANSACTIONS = 10 PF_MAPPING = Y NUM_ROWS = 18 NUM_COLS = 20 TCPIP_HOST = 102.102.102.101 DONT_CHANGE_SCREEN_SIZE = Y IGNORE_UNDERLINE = Y SCAN_SENTINEL_CHARS = 1,2 An explanation of each parameter follows: - NUM_PF_STRINGS = 0 and NUM_TOUCH_STRINGS = 0 are used to maximize the memory available in the terminal for downloaded files. - MAX_TRANSACTIONS = 10 sets the transaction buffer size to its minimum - to maximize the memory available for transactions. Change this if the terminal needs to buffer more transactions. - PF_MAPPING = Y allows the terminal's numeric keys to be used as the PF1 through PF10 keys. - NUM_ROWS = 18 and NUM_COLS = 20 tell the Client the dimensions of the terminal's physical screen. Note: The Teklogix 7035 terminal provides a utility that allows you to change the font and other configuration parameters. While many handheld devices that we support use 16x20 for the screen size, 18x20 is the closest to that size that is available on the 7035. - TCPIP_HOST = 102.102.102.101 tells the Client the IP address of the DCConnect Server. Change this to make it correct for your DCConnect Server. - DONT_CHANGE_SCREEN_SIZE = Y is required in order to tell the Client to leave the screen size as it is. On many devices the Client tries to switch the screen size to 40 column mode but this does not work correctly on the Teklogix 7035. - IGNORE_UNDERLINE = Y is required in order to tell the Client to ignore the underline attribute wherever it may be used. Characters using this attribute are shown normally instead. The Teklogix 7035 does not support the underline character; if the attribute was used, the character would not be visible. - SCAN_SENTINEL_CHARS = 1,2 tells the Client the characters that will signal the beginning and ending of a bar code so it can distinguish scanned data from data that is keyed in even though both go into the keyboard buffer. For more information about the SCAN_SENTINEL_CHARS keyword and its benefits, please see Keyword: SCAN_SENTINEL_CHARS. Along with the use of this keyword, the terminal must be configured to use the corresponding prefix and suffix characters. This is done using a utility that is already on the Teklogix 7035 terminal. Some notes about the use of this utility are described in the next bullet. If you find that the DCConnect download to the terminal is failing due to lack of space, you will probably also need to use the FILE_PAGING and possibly the LOCK_IN_MEMORY keyword. For more information about the EMULATOR.INI parameters, see Configuration using EMULATOR.INI. - The Teklogix 7035 includes a utility for configuring the terminals font, prefix/suffix characters for bar codes and other parameters. Before this utility can be used, the menu drivers must be running. If they are not started automatically by AUTOEXEC.BAT then run the following from the command line to start them: p2man -i Once the menu drivers are running you can start the configuration utility by running 'Start' from the DOS prompt. Pressing 'A' for the Parameters option on the opening screen takes you to a list of parameters that can be configured. But first you are prompted for a password; the default is '123456'. You'll also be prompted to change the password; if you just press Enter when this prompt appears, the password will remain the same. Use the up and down arrow keys to move between menu choices. Press F1 to enter one of the submenus. Press F2 to return from a submenu to its parent menu. Use the up and down arrow keys to move between different parameters on a menu. For any parameter, the left and right arrow keys are used to scroll through the choices available for that parameter. The parameters we changed during testing were: - From the System menu - set the font to 18x20 - From the System menu, panning submenu - set Auto pan to N. Note: When Auto-pan is turned off commands that are executed at the DOS prompt, including those during a reboot, will scroll off the bottom of the screen because the terminal 'view port' remains at the top of the virtual screen. You can manually scroll the view port down to see the bottom of the virtual screen (using Blue Shift and the arrow keys). The Client will always write to the screen assuming the view port is at the top of the virtual screen. - From the Scanner menu, Bar code submenu - For each bar code type enter F1 to get to its sub-menu, scroll down to the Size/Chars menu option and press F1 to go to this sub-menu. Set the Prefix Char to 1 and the Suffix Char to 2. Use F2 to return to the Bar code submenu and repeat this for every active bar code symbology. This must be done in conjunction with the use of the keyword: SCAN_SENTINEL_CHARS = 1,2 in EMULATOR.INI that is described above. Once you have made all changes, use PF4 to Save them. Then you can exit the utility. This is done by pressing F2 until you are back at the main menu; then choose option 'C' to go to the DOS prompt - but you must first enter the same password you entered to get to the Parameters. If you started the menu drivers manually, you can stop them by entering the following command from the DOS prompt: p2man -u - In order to generate certain characters on the Teklogix 7035 keyboard, the blue or orange shift keys may be required. If required these keys are pressed and then released before the other desired key - rather than pressing and holding them. The Orange shift key is 'sticky' - meaning that the keyboard switches to 'Orange mode' once the Orange shift key is pressed and it remains in 'Orange mode' no matter how many other keys are pressed - until the Orange shift key is pressed again. The Blue shift key on the other hand is not 'sticky' if you press it once before pressing another key. Once the other key is pressed the 'Blue mode' is ended. If you want the Blue shift key to be 'sticky', press it twice before pressing the next key. You can tell that you are in 'sticky' 'Blue mode' because the word BLUE is in upper case in the lower right of the screen. - If you need to reboot the Teklogix 7035 terminal, press and hold the Blue Shift key and press and hold the red Enter key. Keep holding these two keys for at least 6 seconds - at which time the screen will clear the the reset will start. - The Backspace key is labelled 'DEL' - one of the grey keys on the left side of the keyboard. - Files are loaded to the A: drive of the Teklogix 7035 terminal using Ymodem-G file transfer protocol which is provided by telnet programs such as Hyperterminal - which comes with Windows 95/98/NT/2000. Using Hyperterminal, choose the appropriate serial port and use the communications parameters: 57600 baudrate, No parity, 8 data bits, 1 stop bit and use 'Auto-detect' for the emulation type. Start the connection if it does not start automatically. Note: Teklogix provides a special '20075' serial cable with a button on it to use when reflashing the C: or D: drives. Do not use this cable when loading files to drive A: using Hyperterminal; use the cable without the special button on it. Make sure the serial cable is properly attached to the terminal and the PC. Then use Transfer -> Send File to start the file transfer process from the PC. Locate the proper file name and then specify: Ymodem-G as the protocol - but do not click 'Send' until the terminal is ready. On the terminal, make sure A: is the current drive and then run the following from the DOS prompt: ymodem -y57600 The terminal will then wait for the PC to start transferring. You can now press 'Send' on the PC side. - To send files from the Teklogix terminal to the PC, use the receive function of Hyperterminal, but choose the 'Ymodem' protocol instead of 'Ymodem-G'. On the terminal side, when you run ymodem you also need to use the -s parameter followed by a space and the file name to upload. For example, to upload PCTCP.INI from drive A: ymodem -y57600 -s pctcp.ini - Parameters related to the radio, such as Network Name and Access Point Density are found in the file PACKET.INI on the A: drive. You can upload and reload this file using a telnet program such as Hyperterminal - as described above. - Network parmeters such as IP address, subnet mask and gateway/router are found in the file PCTCP.INI on the A: drive. You can upload and reload this file using a telnet program such as Hyperterminal - as described above. These parameters are located in the section similar to the following: [pctcp ifcust 0] ip-address = 102.102.102.103 subnet-mask = 255.255.255.0 router = 102.102.102.1 interface-type = PKTDRV frame-type = DIX-Ethernet - AUTOEXEC.BAT and CONFIG.SYS are located on drive C: of the terminal. It is therfore necessary to recreate the image of the ROM drive C: in order to update either of these files. Please consult the manufacturer's documentation for instructions about how to do this. Therefore, in order to change AUTOEXEC.BAT to call EM.BAT so that the DCConnect Client starts automatically after a reboot, the drive C: image must be recreated and reloaded. - If you find there is not enough memory to download DCConnect files to the terminal, you can try removing statements from CONFIG.SYS. You should be able to run the DCConnect Client with only the following statements in CONFIG.SYS: DEVICE = A:\himem.sys device=a:\emm386.exe noems novcpi X=D000-D1ff dos=high, umb SHELL=C:\COMMAND.COM /E:512 /P LASTDRIVE=F FILES=30 and only the following statements in AUTOEXEC.BAT: SET PATH=C:\;D:\;A:\ power ADV sysmon -i p2man -i scan -i -k# a: detect dynaload d:\wvlancad.sys /b=340 /i=11 /m=d000 wvlan42 l sysmon -p a: p2man -u ethdrv REM the following statement automatically starts the DCConnect Client call em You might also be able to use 'sysmon -u' instead of 'sysmon -p' to unload the System Monitor instead of having it monitoring packets. If after making these changes and recreating and reloading the C: drive image, downloads to the terminal still fail, then try the FILE_PAGING and LOCK_IN_MEMORY keywords mentioned above in the discussion of EMULATOR.INI. - The serial port of the Teklogix 7035 can be used by the Client to communicate with devices such as a serial printer. Using the DCConnect Client on Telxon PTC960SL/X, PTC860IM and PTC870IM Terminals -------------------------------------------------------------------------------- This section describes what additional configuration must be done when using the DCConnect Client on one of the following Telxon terminals: PTC960SL, PTC960X, PTC860IM or PTC870IM. For the most part, these terminals are configured the same way. But there are a few differences - because of differences in screen size and because the PTC870IM has a different internal architecture (pen-based). Unless otherwise noted, all instructions below apply to all the supported models of Telxon terminals. The screen sizes use by the Client for the Telxon terminals are as follows: - 16x21 for the PTC960SL and PTC960X - 8x40 for the PTC860IM - 20x40 for the PTC870IM For more detailed information about using Telxon terminals please refer to the following sections: - Hardware and Software Requirements for Telxon Terminals - Drive Arrangement on Telxon Terminals - Transferring Files to a Telxon Terminal - Telxon CONFIG.SYS, AUTOEXEC.BAT and Network Configuration - Telxon Bar Code Configuration - Serial Port Use on the Telxon Terminal - Starting the Client on a Telxon Terminal - Setting Up a Telxon Terminal from Scratch Hardware and Software Requirements for Telxon Terminals ------------------------------------------------------- As of version 1.40E of the Client, support for the serial port on Telxon terminals is now possible. In order to use the serial port, the program TELX_TSR.EXE/T870_TSR.EXE (provided with the Client) must be started before the Client is started (whether using the serial flavor or TCP/IP flavor) and the keyword USE_TSR_FOR_RS232 must be added to the EMULATOR.INI file. For more information see Keyword: USE_TSR_FOR_RS232. Telxon terminals must use the TCP/IP flavor of the Client that talks to the FTP Software TCP/IP stack. However, you do not purchase the PC/TCP product directly from FTP Software. Instead, when ordering your Telxon terminals, you must specify that they be flashed with the AirBeam TCP/IP flash. There are several iterations of this flash. The latest as of May, 2000 requires a 512K ARC drive (drive B:) because of drivers for 802.11 radios that are now included. Its part number is: IL990151 The prior version required only 256K for the ARC drive. It's part number is: IL970215 This flash not only provides all the necessary Telxon specific radio drivers but it also includes a licensed version of the FTP Software TCP/IP stack. Furthermore it provides a mechanism that allows an out-of-the-box Telxon terminal to be loaded from an FTP server (OS/2 and Windows/NT both work) after entering a few parameters from the initial AirBeam flash screens on the terminal. Setting up the FTP server will be explained later in the section called Transferring Files to a Telxon Terminal. Though not required, it is suggested you install the necessary components of either Windows/NT or OS/2 4.0 that will provide FTP server capability. Presumably your data collection server (e.g. DCConnect) will be installed on one of these two operating systems and will already be set up with TCP/IP support since that is required to communicate with Telxon terminals. If that is the case then only a few more steps are required to set up FTP server capability. On OS/2 4.0 nothing more needs to be installed, but you will have to configure a User ID and Password for FTP clients to use when logging in. This is done using the Securty tab of the TCP/IP Configuration notebook. On Windows/NT 4.0 you will need to install the Microsoft Peer Web Services in order to get FTP server capability. This can be done using the Add button of the Services tab of the Network Settings notebook in the Control Panel. Once installed, use the Start -> Programs -> Microsoft Peer Web Services (common) -> Internet Services Manager to set up access to a directory that will contain files to be loaded to the Telxon terminal. You may want to set up another Windows/NT user ID with limited access by using Start -> Programs -> Administrative Tools (Common) -> User Manager. Use this new user ID and password for the Telxon terminals when they log in as FTP clients. This password is stored in one of the configuration files on each terminal - which is why you probably don't want to use your normal Windows/NT user ID and password. The Telxon terminal must have a minimum of 1MB of RAM in order to have a RAM drive large enough to store the Client and its related files and still have enough memory to run the Client. The B: drive must be large enough to hold the AirBeam flash referenced above. For AirBeam version 1.23, 256KB is required. Check with Telxon for any requirements that using the AirBeam flash may place on the access points and other parts of the network. Drive Arrangement on Telxon Terminals ------------------------------------- The PTC960SL, PTC960X and PTC860IM terminals always have A: B: and C: drives. Here are the characteristics of each: A: is referred to by Telxon as the 'E-disk' or 'Electronic disk'. It is a RAM drive - allocated out of the minimum 1MB RAM. This is the only writable drive on these Telxon terminals. It is technically not considered non-volatile memory - although the only way for it to lose its contents is if the internal backup battery were to lose all of its power (not likely) or if the terminal is cold-booted. The A: drive does preserve its contents through a normal power off-on sequence and through a Cntrl-Alt-Del reboot. With 1MB of RAM, this drive is typically 512K. B: is referred to by Telxon as the ARC drive. It is a flash ROM EPROM. Its contents can only be changed through a flashing process; applications running on the terminal cannot write to this drive. This is where the AirBeam flash will be installed. This drive is non-volatile so you will never have to worry about losing its contents. C: This drive contains the DOS bootable image. This is non-volatile memory that cannot be and should not ever need to be changed. The PTC870IM terminal has a C: and D: drive with the following characteristics: C: is equivalent to the B: drive described above; it is where the AirBeam flash is installed. This is a 2MB drive - more than enough to hold the AirBeam flash. D: is equivalent to the A: drive above; it is where the Client files are loaded and run from. With 2MB of RAM in the terminal (the minimum available), 1MB of it is allocated for this D: drive. Which is plenty for the Client and all of the files it needs. The Client must run on a writable drive so that transactions that are generated can be preserved through shutdown of the Client and power down of the terminal. The Client must therefore run from the D: drive for the PTC870IM, and from the A: drive for all other terminals. Transferring Files to a Telxon Terminal --------------------------------------- There are two methods for transferring files to a Telxon terminal. The preferred method uses File Transfer Protocol (FTP) to an FTP server. An alternative method uses a serial conneciton to the terminal and a serial transfer program. 1) Using the AirBeam flash, terminals can be easily loaded automatically from an FTP server. In addition, using version information, every time a terminal is rebooted, that terminal will check the FTP server for updated files and if any are found, they will automatically be downloaded to the terminal. In order to use this method, the Telxon access points must be installed and functioning properly on the network and an FTP server must be installed somewhere in the network. For hints about setting up the FTP server, refer to Hardware and Software Requirements for Telxon Terminals. On the FTP server you must first set up a directory that will be used for transferring files to the terminals. This directory must be created under the 'home' directory that FTP clients are put into when they initially log in. In the examples in this document the home directory will be assumed to be c:\ftp_home. Under this we'll create a directory called telxon. So all files to be sent to the terminal will be in: c:\ftp_home\telxon and its subdirectories. In this directory one or more 'packages' will need to be set up. A package is a set of files that are to be downloaded to the terminal. All PTC960SL and PTC960X terminals will probably use the same package. While PTC860IM terminals and PTC870IM terminals will use their own separate packages - because of the differences in screen size and architecture. Multiple packages can share many of the same files. Each package must have at least two special files that define the package and how it will run after it is downloaded to the terminal: package_name.PKG - This is the package file which contains a list of files that should be downloaded to the terminal. package_name.BAT - This is the batch file that will be started on the terminal after all files are downloaded from the server. It is also called whenever the terminal is rebooted; it is the last call made from AUTOEXEC.BAT. Note: it is important that this batch file name be included in the list of files in the .PKG file. The package_name portion of both file names is the same. We'll use three package names in this example: ptc960, ptc860 and ptc870. This example assumes PTC960, PTC860 and PTC870 terminals will be used. To organize files, 4 subdirectories will be created: c:\ftp_home\telxon\960 c:\ftp_home\telxon\860 c:\ftp_home\telxon\870 c:\ftp_home\telxon\common Most files will go into c:\ftp_home\telxon\common. One difference is EM.BAT which is used to call the Client specifying the device parameter. Since the device parameter is different for the different terminals, this batch file is different. Here are the contents of a sample package file for the PTC960 terminals (ptc960.pkg) config 1,200000,,,REPLACE file \telxon\960\ptc960.bat, \ptc960.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\960\em.bat, \em.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etspt.exe, \etspt.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etscheck.lic, \etscheck.lic, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\emulator.ini, \emulator.ini, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etscfg.tcp, \etscfg.tcp, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\wandtsr.exe, \wandtsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telxonbc.exe, \telxonbc.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telxonbc.cfg, \telxonbc.cfg, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telx_tsr.exe, \telx_tsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD A similar package file for PTC860 terminals (ptc860.pkg) would also be set up. The only difference would be that references to 960 above would be changed to 860. The package file for the PTC870 terminals (ptc870.pkg) not only uses 870 whereever references to 960 are, but also uses a different flavor of telx_tsr.exe (also provided with the Client) that is specific to the pen-based architecture of the PTC870 terminal: config 1,200000,,,REPLACE file \telxon\870\ptc870.bat, \ptc870.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\870\em.bat, \em.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etspt.exe, \etspt.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etscheck.lic, \etscheck.lic, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\emulator.ini, \emulator.ini, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etscfg.tcp, \etscfg.tcp, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\wandtsr.exe, \wandtsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telxonbc.exe, \telxonbc.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telxonbc.cfg, \telxonbc.cfg, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\870\telx_tsr.exe, \telx_tsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD A few notes about package files: a) All commands must start in column 1 b) You can add comment lines to the package file by putting a semicolon in column 1. Everything else on the line is ignored. c) The first line contains the 'config' statement which has several parameters: - The first is the version number (1 above). This value is used by each terminal at boot up time to determine if it has the latest version of the package. Each time you update the package - whether changing the list of files or the contents of any file in the package - this version number should be incremented so that terminals can determine that the package has been updated. If you change the package file list or change the contents of any file in the package and you forget to change the version number, then when terminals are rebooted, they will skip over the loading of the files. - The second parameter is the load size (200000 above). It is used by the load process to ensure there is sufficient space in the terminal for the files. - The third and fourth parameters are not used - The fifth parameter specifies what should happen to an existing package on the terminal when a new version is to be downloaded. REPLACE means the old one should be discarded before the new one is loaded. FAILSAFE specifies that the old version be saved prior to downloading the new one. The FAILSAFE option requires more space on the terminal's writable drive but it allows recovery to the old version if the download of the new version fails for any reason. We did not use the FAILSAFE parameter in our testing. d) The rest of the lines in the package file specify all of the files that must be downloaded to the terminal. Each of these lines contains the following parameters: - The first is the path to the file on the FTP server relative to the FTP home directory (not the root directory of the drive). When the Telxon terminal logs in as an FTP client it cannot access above the FTP home directory; so from the perspective of the FTP client (which is the Telxon terminal), the home directory is the root directory. - The second parameter is the path and file name on writable drive of the terminal where the downloaded file should go. - The third parameter specifies the type of file. FILE_SYSTEM means this is file should be stored on the terminal using the path and name in the second parameter. There are several other options for this parameter that are covered in the AirBeam documentation but which aren't relevant to this discussion. - The last parameter specifies what should happen to this file when the entire package is discarded or purged. ERASE_ON_DISCARD indicates that the file should be erased when the package is discard or purged. e) There are a lot of fancy things you can do with package files which aren't required for the use of the Client. These are all explained in the AirBeam documentation As was mentioned, the .BAT file that matches the file name is called after files are downloaded or the terminal is rebooted. We just want it to start the Client, but this will be done by simply calling em.bat. So this file will contain one line: call em.bat This is the case for ptc960.bat, ptc860.bat and ptc870.bat. Even though the contents are the same, we must have separate files - one to correspond to the name of each package that is set up. Throughout this document we've consistently used EM.BAT as the batch file to be used to start the Client - whether from a batch file or from the command prompt. That is why things are set up this way for Telxon terminals. As a result, if you were to exit the Client after it was started automatically from a reboot, you could start it again by simply entering EM on the terminal's command line. Once the package files and batch files are set up and all files to be downloaded are in place, Telxon terminals that are fresh out-of-the-box, loaded with the AirBeam flash can be loaded up by entering a several parameters from the initial AirBeam prompts. The prompts are the same for all terminals. There is a slight difference between prompts for terminals with 900mhz radios and those with 2.4ghz radios. Later versions of AirBeam flash may also have additional options. To move from one prompt to the next, press the Enter key or the N key. To change the value for any prompt you must first press the C key. Then you will be prompted for the new value. To save the changes (except when changing a parameter), press the S key. After a confirmation message is responded to, the configuration will be saved and the rest of the terminal boot up will continue. To exit the prompts (except when changing a parameter), press the E key. If changes have been made, you'll be asked if they should be saved. Like the save option, the terminal boot up will continue when the prompts end. Note: if you do not configure the terminal to 'Skip Config' at boot up, then whenever the terminal is rebooted, the configuration prompts will be the first thing that comes up. If that is the case, just press E to exit the prompts and to continue the boot up process. Here are the prompts from Version 1.23 of the AirBeam flash and suggestions for proper inputs: a) Serial Mac: We never changed this b) Radio ID: This must be unique for each terminal. We use the unique portion of the IP address for the terminal. c1) Channel: 900mhz radio only; must match 0-based index of channel selection in access point c1) Frequency: 2.4ghz radio only: must match 1-based index of frequency selection in access point c2) Bit Rate: 2.4ghz radio only; must match 1-based index of bit rate selection in access point d) System ID: Must match value from the access point e) Boot Method: Use 0 for FTP f) FTP User: User ID set up on FTP server for FTP clients g) FTP Password: Password set up on FTP server for FTP clients h) FTP Account: We never changed this i) TFTP: We never changed this j) Server IP: IP address of FTP server k) PTC IP: IP address to use for this terminal; must be unique for each terminal in the network l) Router IP: IP address of router in the network m) Package Dir: Name of directory under the FTP 'home' directory that contains the package file on the FTP server (in our example above, we used telxon). Do not specify the full path to this directory, just the directory name itself: telxon n) Package: Name of the package file (.PKG) whose contents should be loaded to the terminal. Do not specify the .PKG extension. In our example, the name to enter is: ptc960, ptc860 or ptc870. o) Subnet Mask: Enter the appropriate mask for your network p) Skip Config: Use 0 if you want these prompts to come up every time the terminal is rebooted. Enter 1 if you do not. Once the terminal is put into production, this value should probably be set to 1. If you leave this at 0, whenever the terminal is rebooted, the prompts will come up and you will need to press E to exit the prompts and continue the boot process. If you have set the Skip Config option to 1 you can get back into the configuration using the following command from the DOS prompt: vutil mincfg -r%radio% In fact you might want to create a batch file called, CONFIG.BAT, that is part of the package to be downloaded and which contains the command above. If you start the configuration program this way, then once you have made the changes to the configuration and saved them, the terminal will need to be rebooted by pressing Cntrl, Alt, Del in order. q) Suppress sep: We never changed this r) Ignore Package: We never changed this When all parameters are set as needed, press the S key to save and enter Y for the confirmation. The file will be saved and the boot process will continue. If everything is set up properly, the terminal will hook up with the FTP server, download the package file and its associated files and then will run the package batch file that should be set up to start the Client automatically. And if the DCConnect Server is running, a download from DCConnect should start automatically as well. 2) As was mentioned, method 1 is the preferred method. But if you are unable to get an FTP server running, you can use the terminal's serial port to load it. You'll still need to answer the AirBeam flash prompts in order to set up the terminal's radio parameters and network parameters; the only parameters you don't have to worry about are those that are specific to the FTP server (Boot method, FTP User, FTP Password, FTP Account, TFTP and server IP). However, each time the terminal is rebooted, it will make an attempt to connect to the FTP server - because that is what the AirBeam flash was designed to do. If you leave the FTP server field blank, you'll get an error on reboot and you'll be left at a DOS prompt. To start the Client, you'll have to run EM.BAT from the DOS prompt manually. Note: On all but the 870IM, you could probably work around this and automate the start up of the Client by doing some trickery like creating a file called ETHDRV.BAT on the A: drive which does most of what AUTOEXEC.BAT on drive B: does from the ETHDRV call and on - but skipping the stuff that does the loading (vutil LOAD -v). Because A: is before B: in the path, the batch file ETHDRV.BAT on drive A: would be called instead of ETHDRV.EXE on drive B:. The batch file should then have an explicit call to B:\ETHDRV.EXE using the same parameters from the AUTOEXEC.BAT file. Furthermore because ETHDRV.BAT is a batch file and it is not called with a 'call' command, when ETHDRV.BAT completes, control will not return to AUTOEXEC.BAT. The serial transfer process involves the use of the special terminal serial cable attached to the PC's serial port and a pair of programs collectively known as Handheld Bridge. Telxon also has a cradle that can be attached serially to the PC. One program runs in the terminal (HHBR.EXE) and one runs on the PC (HHB.EXE). These two programs are freeware programs that we provide with the Client in the TELXON directory. HHBR.TXT and HHB.TXT can also be found in this directory; these give more details about the use of the Handheld Bridge programs. The PC flavor (HHB.EXE) will run in a DOS windows of both OS/2 and Windows/NT. When both sides are talking, the HHB program on the PC shows, in a File Manager type format, the contents of the terminal's drive and the contents of the PC's drive. Using the space bar to select one or more files on either side, files can be be sent from one side to the other or erased. For example, if there are five files to be sent from the PC to the terminal you would do the following steps: a) Use the tab key to move the cursor to the PC's list of files. b) Use the arrow keys to move up and down the list and use the space bar to 'tag' those files that should be sent to the other side. c) When all desired files are tagged. Press the S key for the Send operation and all files will be transmitted. d) It's as simple as that! Use X to exit the program. Warning: the Copy function is not used to copy files from one side to the other as might be expected. Copy is used to copy to a file of a different name on the same side. The Telxon terminal does not come with the HHBR utility already installed on it. You must copy it to the terminal using the utility RXR.EXE which is preinstalled on the terminal. The RXR utility is used for transferring one file at a time. To transfer HHBR.EXE to the terminal using the RXR utility, do the following at the terminal: a) At the command line enter: rxr b) At the Connect Optics? prompt, Enter: N c) Enter 0, to receive a file d) Enter 0, to select a baud rate of 38400 e) Enter the file name: HHBR.EXE f) The terminal will now wait for the PC to begin transmitting the file On the PC side, from a directory that contains both HHBR.EXE and HHB.EXE, enter the following command: hhb /n /s3 The /n is a special flag that tells Handheld Bridge to transfer HHBR.EXE to the terminal. The /s3 parameter says to use 38400 for the baud rate. When the transfer completes, do the following from the terminal side: a) Enter 2 to leave the RXR program b) You may need to reboot the terminal if you get an error about COMMAND.COM c) Enter the following at the DOS prompt to start the terminal side of Handheld Bridge: hhbr Both sides should now be communicating with each other, providing an easier way to transfer other files to the terminal than using RXR to transfer them one by one. Telxon CONFIG.SYS, AUTOEXEC.BAT and Network Configuration --------------------------------------------------------- The Telxon terminal installed with the AirBeam flash includes AUTOEXEC.BAT and CONFIG.SYS in that flash image. Since that flash is installed on read-only drive B: these files cannot be changed. Nor do they need to be. The default AUTOEXEC.BAT is set up to call the configured package file's .BAT file (e.g. ptc960.bat). In the instructions above, we suggested that the package .BAT file just call EM.BAT. Therefore the only start up file that needs to be set up is EM.BAT. This will be described in Setting Up a Telxon Terminal from Scratch. As for the network configuration, the files associated with this are set up automatically whenever configuration changes are made from the AirBeam prompts that are shown on start up. Therefore these files do not need to be set up on the PC nor do they need to be transmitted from the PC to the terminal. Telxon Bar Code Configuration ----------------------------- When using Telxon terminals, configuration of the bar codes is not done using the information that might be downloaded from the DCConnect Server. Instead, a special utility, TELXONBC.EXE, is provided with the Client so that all capabilities of the Telxon scanning functions can be taken advantage of. This utility reads a configuration file, TELXONBC.CFG, to determine which bar codes should be active. Each bar code can also have certain parameters configured for it. The TELXONBC.CFG file contains comments which explain exactly how to make changes to it. Both TELXONBC.CFG and TELXONBC.EXE are provided in the TELXON directory where the Client is installed. When running TELXONBC.EXE on the PTC960SL, PTC960X and PTC860IM terminals, no parameters are needed. But for the PTC870IM, you must specify the parameter PTC870 so that the proper function is called internally to do the configuration. For all but the PTC870IM terminals, another program found in the same directory, WANDTSR.EXE, must be downloaded to the terminal and must be run before the scanner can be used. We have AirBeam version 1.30 installed on our PTC870IM and it automatically starts the necessary Telxon drivers for allowing the scanner to be used. However, for the PTC870IM terminal only, in order for the Client to talk to the scanner, a special TSR program, T870_TSR.EXE, must be started before the Client and the keyword USE_TSR_FOR_SCANNER must be included in EMULATOR.INI. This TSR program is included in the TELXON directory where the Client is installed. Another flavor of this scanning TSR, TELX_TSR.EXE, is also included with the Client (versoin 1.40E and later) for use on the other Telxon models in order to provide the ability for the Client to read scanner input directly and therefore be able to distinguish it from keyboard input. Better enforcement of scanning lengths is also provided. In order for the Client to use the TSR, the appropriate one must be loaded onto the terminal, the TSR must be started before the Client is started and the following keyword must be part of EMULATOR.INI: USE_TSR_FOR_SCANNER = Y For more information see Keyword: USE_TSR_FOR_SCANNER. IMPORTANT NOTE: None of the Telxon terminals supported by the Client allow the configuration of preamble and postamble characters. Therefore the SCAN_SENTINEL_CHARS keyword cannot be used in EMULATOR.INI when using Telxon terminals. So without the scanning TSR provided by the Client, all scanning input is routed through the keyboard and as a result, the Client would be unable to distinguish between keyboard and scanner input. Serial Port Use on the Telxon Terminal -------------------------------------- As of version 1.40E of the Client, support for the serial port on Telxon terminals is now possible. In order to use the serial port, the program TELX_TSR.EXE/T870_TSR.EXE (provided with the Client) must be started before the Client (whether using the serial flavor or TCP/IP flavor) and the keyword USE_TSR_FOR_RS232 must be added to the EMULATOR.INI file. For more information see Keyword: USE_TSR_FOR_RS232. Prior to version 1.40E, the serial port was not supported on any Telxon terminal. Starting the Client on a Telxon Terminal ---------------------------------------- Since the Client must run from a writable drive, then the Client and the file ETSCHECK.LIC should be copied to the terminal's drive writable along with any configuration file(s). For more information about how to load files on the terminal, see Transferring Files to a Telxon Terminal. Depending on which model of Telxon terminal is being used, a different 'device' command line parameter must be used: For the PTC960SL and PTC960X terminals, the following parameter must be used: -dPTC960 For the PTC860IM terminal, the following parameter must be used: -dPTC860 For the PTC870IM terminal, the following parameter must be used: -dPTC870 For more details about this and other command line parameters, see the earlier section called Common Command Line Parameters for the Client. Setting Up a Telxon Terminal from Scratch ----------------------------------------- This section describes suggested steps to take an out-of-the-box Telxon terminal and set it up so that the Client can run on it. These instructions were developed using version 1.23 of the AirBeam flash. While it is possible to transmit files to the terminal serially using the Handheld Bridge utilities, this section will only cover the use of an FTP server - which is the intended use of the AirBeam flash. These instructions assume an out-of-the-box terminal with the AirBeam flash on drive B: and the writable RAM drive A: being completely empty. For the PTC870IM, the AirBeam flash is on drive C: and the writable drive is the D: drive; so for this terminal substitute D: for A: in the steps below: 1) If you have not already done so, create a directory for accumulating the files that are to be part of the download package(s). This directory must be under the FTP 'home' directory. This example will assume the FTP 'home' directory is 'c:\ftp_home' and the directory under that for the Telxon package files will be called 'telxon'. So all files will end up in c:\ftp_home\telxon and its subdirectories. For more information about setting up the FTP server on Windows/NT or OS/2, refer to Hardware and Software Requirements for Telxon terminals. 2) Create the following subdirectories under c:\ftp_home\telxon so that files can be properly organized by their use: c:\ftp_home\telxon\common - Files used on both types of terminals c:\ftp_home\telxon\860 - Files unique to PTC860IM terminals c:\ftp_home\telxon\870 - Files unique to PTC870IM terminals c:\ftp_home\telxon\960 - Files unique to PTC960SL and PTC960X terminals All files except for the .PKG files will be copied to one of these subdirectories. Most will be in c:\ftp_home\telxon\common. 3) We'll need to set up the package file that specifies all the files to be downloaded. The steps that follow will help you determine which files are to be included. For each that is included, two things will have to be done: 1) Copy the file into the appropriate subdirectory of c:\ftp_home\telxon 2) Add an entry to the appropriate package file(s) If you have not already done so, please review the section above about using the AirBeam flash and setting up package files. This was covered in Transferring Files to a Telxon terminal. 4) The first line of the package file(s) will indicate the version and the size. The size does not have to be accurate, it is just a guideline. Create as many of the following package files as you will need - based on which terminal models you will be using: ptc960.pkg ptc860.pkg ptc870.pkg These files should be created in the c:\ftp_home\telxon directory. The first line of the package file(s) should be: config 1,200000,,,REPLACE Then add entries for the package batch file and the Client startup batch file - both of which are unique based on the terminal type. In ptc960.pkg add: file \telxon\960\ptc960.bat, \ptc960.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\960\em.bat, \em.bat, FILE_SYSTEM, ERASE_ON_DISCARD In ptc860.pkg add: file \telxon\860\ptc860.bat, \ptc860.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\860\em.bat, \em.bat, FILE_SYSTEM, ERASE_ON_DISCARD In ptc870.pkg add: file \telxon\870\ptc870.bat, \ptc870.bat, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\870\em.bat, \em.bat, FILE_SYSTEM, ERASE_ON_DISCARD We'll set up the contents of these files in a few more steps. 5) Now copy the following files to the c:\ftp_home\telxon\common directory on your PC from the directory where the Client is installed: ETSCHECK.LIC TCP_FTP\ETSPT.EXE and add the following entries to all the package files that you are using: file \telxon\common\etscheck.lic, \etscheck.lic, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\etspt.exe, \etspt.exe, FILE_SYSTEM, ERASE_ON_DISCARD 6) Now determine if you need to create an EMULATOR.INI file. For more about what parameters can be set up in this file, refer to the section above Configuration using EMULATOR.INI. If you decide you need this file, create it in the c:\ftp_home\telxon\common directory and add the following entry to all package files: file \telxon\common\emulator.ini, \emulator.ini, FILE_SYSTEM, ERASE_ON_DISCARD 7) The last Client specific file to create is EM.BAT. This is one of the terminal type specific files; one copy is created for each type in the appropriate subdirectory. If you are going to be using PTC960SL or PTC960X terminals you must create an EM.BAT in c:\ftp_home\telxon\960. If you are going to be using PTC860IM terminals you must create an EM.BAT in c:\ftp_home\telxon\860. If you are going to be using PTC870IM terminals you must create an EM.BAT in c:\ftp_home\telxon\870. For PTC960SL, PTC960X and PTC860 IM, the only difference between the batch files will be the -d (device) parameter. For all but the PTC870IM's batch file, start with the following command for starting Telxon's wand TSR: wandtsr All flavors of EM.BAT should include the following command next in order to configure the bar codes: telxonbc However, for the 870IM, add the parameter 'PTC870': telxonbc PTC870 The command: telx_tsr should be added next for any of the following situations: a) If the scanner will be used at all on the 870IM terminal b) If enhanced scanning functions are needed for the other terminal models (differentiation between keyboard and scanner input, better enforcement of scanning lengths) c) RS-232 serial port support for any terminal For more information, see Keyword: USE_TSR_FOR_SCANNER and Keyword: USE_TSR_FOR_RS232. Finally add a line similar to the following for starting the Client: etspt -dPTC960 -h1.2.3.4,7500 Change the -d (device) and -h (host PC) parameters as appropriate for the terminal type and your network configuration. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. After the call to the Client add a call to clear the screen: cls This is sometimes needed to restore the display to its original state after you exit the Client. 8) Now that em.bat has been created, we have to create the package batch file(s) which is automatically called after the package download and after terminal reboots. The package batch files will contain the single command: call em.bat If you have PTC960SL or PTC960X terminals, create c:\ftp_home\telxon\960\ptc960.bat and add the line above to it. If you have PTC860IM terminals, create c:\ftp_home\telxon\860\ptc860.bat and add the same line above to it. If you have PTC870IM terminals, create c:\ftp_home\telxon\870\ptc870.bat and add the same line above to it. 9) In order for the scanner to work the following files should be copied from the \TELXON directory where the Client is installed to the c:\ftp_home\telxon\common directory: TELXONBC.EXE TELXONBC.CFG and the following entries should be added to the package file: file \telxon\common\telxonbc.exe, \telxonbc.exe, FILE_SYSTEM, ERASE_ON_DISCARD file \telxon\common\telxonbc.cfg, \telxonbc.cfg, FILE_SYSTEM, ERASE_ON_DISCARD Make changes to telxonbc.cfg as necessary. The file contains comments which explain how to change the file. For more general information, refer to Telxon Bar Code Configuration. For all but the PTC870IM, the following file should be copied from the TELXON directory where the Client is installed to the c:\ftp_home\telxon\common directory: wandtsr.exe and the following entry should be added to the package file: file \telxon\common\wandtsr.exe, \wandtsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD 10) If the command 'telx_tsr' was added to EM.BAT in step 7 above, for any reason, then the TSR must be copied and added to the package as well. For the 870IM terminal, copy the following file from the TELXON directory where the Client is installed to the c:\ftp_home\telxon\870 directory: t870_tsr.exe and add the following entry to the package file: file \telxon\870\t870_tsr.exe, \telx_tsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD For all other terminal models, copy the following file from the TELXON directory where the Client is installed to the c:\ftp_home\telxon\common directory: telx_tsr.exe and add the following entry to the package file: file \telxon\common\telx_tsr.exe, \telx_tsr.exe, FILE_SYSTEM, ERASE_ON_DISCARD 11) All files that are required are now set up ready for transfer to the terminals - as long as the FTP server and access point(s) are configured and running. You should be able to turn on your terminals, respond to the prompts and have them be downloaded with all of the files that were set up above. For a description of the AirBeam prompts and suggested values, refer to Transferring Files to a Telxon Terminal. The only prompts that have unique responses for each terminal are the Radio ID and PTC IP address. All of the rest of the prompts are the same for all terminals - with one exception. The Package name for PTC960SL and PTC960X terminals will be: ptc960 The Package name for PTC860IM terminals will be: ptc860 The Package name for PTC870IM terminals will be: ptc870 When all parameters are entered, and the configuration is saved, the boot process will complete and the entire package should be transferred to the terminal and the Client should be started automatically. The download process should take 10 to 20 seconds for the approximately 200K of files. As files are being transferred you will see the terminal show one dot for each file specified in the package file. Using the DCConnect Client on Windows 95/98/Me/NT/2000/XP/7/Server ------------------------------------------------------------------ This section describes what additional configuration must be done when using the DCConnect Client on Windows 95, 98, Millenium, NT, 2000, XP, Windows 7 or Window Server xxx. For more detailed information please refer to the following sections: - Hardware and Software Requirements for Windows 95/98/Me/NT/2000/XP/7/Server - Bar Code Configuration for Windows 95/98/Me/NT/2000/XP/7/Server - Serial Port Use for Windows 95/98/Me/NT/2000/XP/7/Server - Starting the Client on Windows 95/98/Me/NT/2000/XP/7/Server - Building CFRs for Windows 95/98/Me/NT/2000/XP/7/Server based Terminals - Setting Up the Client on Windows 95/98/Me/NT/2000/XP/7/Server from Scratch Hardware and Software Requirements for Windows 95/98/Me/NT/2000/XP/7/Server --------------------------------------------------------------------------- The only hardware requirement is a correctly configurated NetWork adapter that will support the TCP/IP protocol, (Ethernet, Token-Ring, ...) There are no special software requirements other than one of the supported versions of the Microsoft Windows operating systems: Windows 95/98/Me/NT/2000/XP/7/Server. Note: The DCConnect Client for Windows will not run on Windows 3.1 because that is a 16-bit operating system. The generic 32-bit Windows flavor of the DCConnect Client does not run on Windows CE. There are Windows CE specific flavors of the Client for those Windows CE platforms that we support. For example, we have specific flavors of the Client for use on the Intermec 600 terminal, for the Intermec 5020 terminal, for the Intelligent Instrumentation LanPoint CE and the Symbol PDT81xx. Bar Code Configuration for Windows 95/98/Me/NT/2000/XP/7/Server --------------------------------------------------------------- There is no special Bar Code device support built into the 32-bit Windows flavor of the DCConnect Client. If you have a bar code 'wedge' device that you can attach the keyboard port of the Windows PC, then bar codes could be scanned and they would be fed to the DCConnect Client as a series of keystrokes. If a wedge device is used and it has the ability to configure preamble/postamble characters to be appended around every bar code that is read, then the Client would be able to distinguish keyboard input from scanner input by properly defining the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI. For more information about the SCAN_SENTINEL_CHARS keyword and its benefits, please see, Keyword: SCAN_SENTINEL_CHARS. You also have the option to use a serial scanner as long as the serial scanner is a decoded scanner and it can be configured to set up a terminating (postamble) character. In order to use a serial scanner, you must use the USE_RS232_FOR_SCANNER keyword in EMULATOR.INI. For more information please see, Keyword: USE_RS232_FOR_SCANNER. Serial Port Use for Windows 95/98/Me/NT/2000/XP/7/Server -------------------------------------------------------- The COM1 serial port on Windows terminals/PCs can be used by the Client to communicate with devices such as a serial printer or scale. There is currently no officially available serial flavor of the Client that can be used to communicate to the data collection server via the serial port instead of over a TCP/IP socket. The Client will configure the serial port based on the downloaded serial port configuration (when the serial port is used to talk to another device such as a printer or scale). Starting the Client on Windows 95/98/Me/NT/2000/XP/7/Server ----------------------------------------------------------- The Client executables (ETSPT.EXE and ETSPT.DLL in the WIN32 directory where the Client is installed) and the file ETSCHECK.LIC should be copied into a subdirectory along with any configuration file(s). All the Client, license, and configuration files must be in the same directory when the Client is started. There isn't any required 'device' command line parameter that must be used when starting the Windows flavor of the DCConnect Client. The Client will default to a 25 row by 40 column window. However, device switches for other terminal types may be used. This would cause the window to be sized based on the default size of the specified terminal type. In addition, the keywords NUM_ROWS and NUM_COLS can be used in EMULATOR.INI to override the default dimensions of the window. Using device switches for other terminals on the Windows flavor of the Client is an excellent way of testing your screen displays for other terminals types during transaction program and CFR development. You can do your development work and demos without actually having the actually having the terminal for which are developing programs. Note: In order for the 32-bit Windows flavor of the Client to use a CFR, that CFR must be compiled as a Windows DLL - which of course is different from a DOS executable that many supported devices require. More than one copy of the Client may be started on the same system unit as long as each uses a different port number (-p command line parameter or TCPIP_PORT keyword in EMULATOR.INI). Note: If you will be running multiple instances of the DCConnect Client on the same PC from the same directory, then you must use the -p command line parameter to specify each instance's port number instead of use the TCPIP_PORT keyword in EMULATOR.INI. Each instance has its own logfiles and downloaded CFR file. When running from the same directory, these files must have unique file names. If the -p parameter is used, the Client generates logfile names and CFR names based on the port number - thus allowing multiple instances to coexist without overwriting each other's files. If TCPIP_PORT is used instead of -p, the Client does not make the file names unique because the Client does not process EMULATOR.INI until after it has established the logfile names it will use. The Windows flavor of the DCConnect Client can also run on the same PC as the Windows/NT flavor of the DCConnect Server. Just be sure that the port number that the Server uses is different from the Client. Since the DCConnect Server defaults to using port 7500, you would typically use port 7501 for the Client. If more than one instance of the Client is to run on that PC, each should have a different port number (7502, 7503, ...) Be sure the port number is specified when configuring these 'terminals' in DCConnect. You can also use the loopback IP address (127.0.0.1) for Clients that run on the PC as the Server - but you still have to use different port numbers. For more details about command line parameters, see the earlier section called Common Command Line Parameters for the Client. Building CFRs for Windows 95/98/Me/NT/2000/XP/7/Server based Terminals ---------------------------------------------------------------------- For DOS-based terminals running the DCConnect Client and the original IBM 752x terminals, CFRs were built as 16-bit .EXE files. However, when the Client is running on Windows 95/98/Me/NT/2000/XP/7/Server, CFRs must be built as Windows DLLs. In addition, if the building of your CFR requires linking any libraries that weren't part of the C compiler, these libraries must also be rebuilt as Windows libraries. Note: Even Windows CE CFR DLLs and libraries that were built for the Client running on Windows CE devices cannot be used on Windows 95/98/Me/NT/2000/XP/7/Server. The CFR source files (.C and .H files) that were used when building DOS CFR exectuables should not have to change when you want to create CFR DLLs for Windows from that same source. Because DOS-based devices, Windows devices and Windows CE devices all use different CFR executables, when configuring terminals using the DCConnect User Interface, you will have to separate terminals into different function groups when they use different CFR executables - even if all of the rest of the configuration (transaction programs, validation files, ...) are the same (except of course the terminal address). During our testing we built our test CFRs using the Microsoft Visual Studio Visual C++ 6.0 compiler. We have included in the Client product files, both the project and workspace files that we used in order to help you get started building your own Windows CFR DLLs. To compile a CFR using the project and workspace files provided, follow the steps below: 1) The installation of version 2.00 and later of the DCConnect Client should copy all of the CFR related product files to your PC and then set up the environment variable CFRTOOLS to point to the CFRTOOLS directory located where the files were installed (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). If this has already been set up then you can skip to step 5 below. Otherwise continue with step 2 in order to copy the necessary files and to set up the CFRTOOLS environment variable. 2) First create a directory into which the CFR files can be copied. If you are using the PC that is running the DCConnect Server, then create the directory: DCCLIENT\CFRTOOLS under the directory where DCConnect is installed (e.g. C:\DCCONN). 3) Copy all files from the CFRTOOLS directory where the Client is installed to the directory you created (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). 4) Using the System icon in the Windows Control Panel folder, set up the environment variable CFRTOOLS to point to the directory that you created (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). 5) Of all the files that are installed to the %CFRTOOLS% directory, the following files are required for building 32-bit Windows CFRs: cfrapi24.h - CFR API include file. cfrwin32.h - CFR include file needed for 32-bit Windows and Windows CE CFRs win32\cfrapi32.lib - Win32 CFR API Library. 6) Before proceding, it is suggested that you create a separate build directory for your own CFR source. This should be different from the directory that the environment variable CFRTOOLS points to. This example will use C:\MYCFRS for the build directory. 7) One of the files in the %CFRTOOLS% directory is CFRSMP24.ZIP which is the sample CFR package. This package includes Microsoft Visual Studio workspace and project files - as well as the source and makefiles for the sample CFRs. Copy CFRSMP24.ZIP from the %CFRTOOLS% directory to C:\MYCFRS. 8) Then unzip CFRSMP24.ZIP, being sure to specify that subdirectories from the .ZIP file be created (if using pkunzip, specify the -d option). The unzipped files will include the following files that are relevant for building the 32-bit Windows flavor of the sample CFR: cfrsmp24.c - True source for the CFR cfrsmp32.c - Wrapper file for CFRSMP24.C that allows us to create CFRSMP32.OBJ when using Microsoft Visual Studio. cfrsmp32.mak - Makefile that can be used to build the CFR from the command line (nmake -f cfrsmp32.mak) - after setting the environment for compiling (vcvars32.bat). nmwin32.bat - Batch file for setting compile environment and then calling nmake of cfrsmp32.mak with the proper options. cfrsmp32.dsw - Microsoft Visual Studio workspace file for this CFR cfrsmp32.dsp - Microsoft Visual Studio project file for this CFR 9) The sample CFR also uses some of the utility routines found in the package CFRUTL24.ZIP. (The contents of this package are already expanded in the %CFRTOOLS% directory). The files associated with this library of utility functions that are used when building 32-bit Windows CFRs are: cfrutl24.h - Header file for utility functions win32\cfrutl32.lib - Library of utility functions 10) Copy your CFR source (and any include files) into the build directory. The project setttings are configured to expect the CFR source file to be named "CFRSMP32.C" and the output CFR executable will be called CFRSMP32.DLL and it will be generated in the WIN32 directory under the current directory (e.g. C:\MYCFRS\WIN32). 11) Start the Microsoft Visual C++ Visual Studio tool. 12) Under the 'File' pull down menu, click on "Open Workspace". 13) Open your build directory (e.g. C:\MYCFRS) and click on "CFRSMP32.DSW". This will load the sample CFR project configuration. 14) Under the 'Build' pull down menu, click on 'Set Active Configuration...' and select the 'Release' configuration (not the 'Debug'). 15) Again underr the 'Build' pull down menu, click on the "Build cfrsmp32.dll" item. This will start the CFR DLL compile. In most cases your 16-bit CFR source can be recompiled into a DLL without any changes. You may get a number of warning messages during the build that should not cause any problems during run time. The messages may be caused by mismatch sizes of primitive types between the 16-bit and 32-bit systems. As an example, 'int' on 16-bit systems is two bytes in size while it is four bytes on 32-bit systems. But you should inspect the cause of each message to make sure nothing needs to be changed. If there is anything that needs to be changed be sure to change in it such a way that it will still compile properly when building the 16-bit DOS flavor of the CFR. If you will be building more than one CFR, you should set up a separate project for each under the same workspace. The following steps gives an example of how to create a second CFR (called WIN32\TEST.DLL) that is identical to the WIN32\CFRSMP32.DLL: 1) Copy CFRSMP32.DSP to TEST.DSP. Edit the file using Notepad - or any editor that handles line lengths greater than 256 bytes. - Change all uppercase occurrences of 'CFRSMP32' to 'TEST' - Change all lowercase occurrences of 'cfrsmp32' to 'test' Then save the file. 2) Copy CFRSMP24.C to TEST.C (the project file referenced CFRSMP32.C but that was changed to TEST.C as a result of the actions in the previous step). 3) Start Visual Studio and select the CFRSMP32 workspace. 4) Then add the project in TEST.DSP to the workspace. 5) Be sure the build type is Release (and not Debug). You should be able to run the build and create WIN32\TEST.DLL. You can have the build copy the resulting DLL to the \DCCONN\CFR directory so that any time the CFR is updated it is immediately available for download by the DCConnect Server. This can be done by going into the project settings (be sure to select the 'Release' configuration) and going to the 'Post-Build step' tab and add a command similar to the following: copy win32\test.dll c:\dcconn\cfr Once you have set up your project in the Microsoft Visual Studio development environment and have successfully compiled a CFR, you can create a make file so that in the future you can compile CFR changes from the command line. The sample CFR package includes the following files for this purpose: cfrsmp32.mak nmwin32.bat The first file, cfrsmp32.mak, is actually generated by Visual Studio using the 'Export Makefile...' from the Project pull-down menu. This option lets you create a .MAK file for all projects that are part of the current workspace. Once you have the .MAK file, you can use a batch file similar to nmsmp32.bat to start the compile from the command line. NMWIN32.BAT does the following: @echo off if "%1" == "" goto needparm goto ok :needparm echo . echo . Please specify the name of a project (*.mak) to compile. For echo . example: echo . echo . %0 cfrsmp32 echo . %0 cfrpan32 echo . %0 cfrutl32 echo . goto end :ok setlocal set whichMake=%1 call %MSVC32DIR%\bin\vcvars32 nmake /f %whichMake%.mak "CFG=%whichMake% - Win32 Release" > outwin32 if '%2'=='' call notepad outwin32 endlocal :end A few notes about the above: - The 'setlocal' and 'endlocal' commands are used for temporarily changing the session environment for the compile steps. - The batch file 'vcvars32.bat' sets up the PATH and other environment variables so that the compile environment is set as needed for the Microsoft Visual C++ compiler. The call to vcvars32 above is referenced using the environment variable MSVC32DIR. You can change this to the specific path where the Microsoft Visual C++ compiler is installed on your system (e.g. C:\Visual Studio\VC98). Or you can set up this environment variable using the System icon in the Windows Control Panel folder. - The nmake statement redirects the messages from the compiler to the file 'outwin32' so that you can examine this file after the compile. The statement after nmake will call notepad to allow you to view any messages written to outwin32. Setting Up the Client on Windows 95/98/Me/NT/2000/XP/7/Server from Scratch -------------------------------------------------------------------------- The setup for the Windows flavor of the DCConnect Client product involves only a couple of steps. The only requirement while setting up a Windows based Client terminal is that all the Client files must reside in the same directory. Create a 'run' directory on any of the Windows PC's drives. Copy the following files from the directory where the Client is installed to the 'run' directory: WIN32\ETSPT.EXE WIN32\ETSPT.DLL ETSCHECK.LIC At this point, you could start the Windows Client by just switching into the run directory and typing "etspt" from the command line. There is no required command line 'device' switch when running the Windows flavor of the Client. However, if the Windows Client is running on the same PC as the DCConnect Server, you will need to specify a TCP/IP port number that is different from the TCP/IP port number that is being used by the DCConnect Server. For more information about running the Client on the same PC as the DCConnect Server and about running multiple copies on the same PC, please see Starting the Client on a Windows Terminal. The default behavior of the Windows Client can be changed by including an emulator.ini file in the run directory. By adding keywords in this file, you can change many of the Client default characteristics such as the screen size, the position of the status row, and transaction log file size. The following keywords are not supported under the TCP/IP Windows flavor of the Client product: ADDRESS BAUD_RATE COM_PORT MENU_ITEM SELECT_FONT TOGGLE_BACKLIGHT_CHAR USE_TSR_FOR_RS232 USE_TSR_FOR_SCANNER USE_TSR_FOR_KEYBOARD Keywords you might consider adding to EMULATOR.INI: TCPIP_HOST - To specify the IP address of the DCConnect Server. If the Win32 DCConnect Client is running on the same machine as the DCConnect Server, you can use the loopback IP address 127.0.0.1 for the Server IP address. TCPIP_PORT - To specify the port number that DCConnect Client will use. If running on the same machine as the DCConnect Server, you must use a different port number from the Server (which defaults to 7500). NUM_ROWS and NUM_COLS - To set the default screen size to something other than 20x40 - perhaps to simulate the screen of a device that the transaction programs will eventually run on. PF_MAPPING - To have the number keys act like PF keys when starting a transaction program or executing an ONKEY/ONSUB command. USE_RS232_FOR_SCANNER - If you have a decoded scanner attached to the serial port. A sample EMULATOR.INI for use with the 32-bit Windows flavor of the Client can be found where the product is installed as WIN32\SAMPLE\EMULATOR.INI For more information about keywords that can be used in EMULATOR.INI, see Configuration using EMULATOR.INI. Using the DCConnect Client on Windows CE Devices ------------------------------------------------ This section describes what additional configuration must be done when using DCConnect Client on Windows CE based devices. While this and the following sections will try to cover the similarities between Windows CE Devices there are many ways in which Windows CE devices are different. In fact, the DCConnect Client product has to include several differently compiled 'flavors' of the DCConnect Client in order for each to work on its intended Windows CE terminal. Two key areas where terminals differ are with the processor they use and the version of Windows CE that they support. Of the Windows CE devices that we supported initially, the processor and Windows CE versions differ considerably: - Intelligent Instrumentation LanPoint CE - Windows CE 3.0, X86 processor (AMD) - Intermec 600 - Windows CE 2.12, X86 processor (AMD) - Intermec 700 - Windows CE 3.0, Strong ARM 1110 processor (Intel) - Intermec 5020 - Windows CE 3.0, SH3 processor (Hitachi) - Intermec 6651 - Windows CE 3.0, MIPS processor (Toshiba) - Intermec CK30 - Windows CE .NET, XScale processor (Intel) - Intermec_CV60 - Windows XP Embed, Intel P-III 800Mhz processor - Symbol MC9000 - Windows CE .NET, ARM processor (Intel) Note: Intermec 5020 terminals originally came with Windows CE 2.12 on them. However since any Intermec 5020 can be upgraded to Windows CE 3.0, starting with version 2.0 of the DCConnect Client, Intermec 5020 terminals with versions of Windows CE earlier than 3.0 are not supported. Because each of these 8 devices has a different processor / Windows CE version combination, 8 different sets of DCConnect Client executables have to be built. For other Windows CE devices that match any of the processor / Windows CE version combinations above, the corresponding executables should run on that device. For example, the: - Symbol PDT 81xx (e.g. 8146) - Windows CE 3.0, Strong ARM 1110 processor (Intel) - Handheld Products "Dolphin" 7400 - Windows CE 3.0, String ARM 1110 processor (Intel) both have the same processor / Windows CE version combination as the Intermec 700 terminal. Therefore, the executables built for the Intermec 700 terminal should run on the Symbol PDT 81xx and HHP 7400. Note: The PDT81xx and HHP7400 each use different directory names for the non-volatile storage on the device. Therefore you would still have to create different .CAB files for loading the Client to the device even though the executables are the same. In some cases you also have to worry about whether the device is a Pocket PC device or not. The Intermec 700 and Symbol PDT 81xx are Pocket PC devices with the same processor (StrongARM) and Windows CE version (3.0). The exectuables built for this processor/Windows CE version combination also makes use of a Pocket PC library in order to implement the FULL_SCREEN option in EMULATOR.INI. The required library (AYGSHELL.DLL) is not available on non-Pocket PC devices. So for devices that have a StrongARM or compatible (e.g. XScale) processor and Windows CE 3.0 or compatible later version (e.g. 4.0) but which are not Pocket PC devices, the executables for the Intermec 700 will not work. Instead the Client software includes executables for this processor/Windows CE version combination which do not require the Pocket PC .DLL (and therefore do not support the FULL_SCREEN option). These executables are available in the .\ARMNOPPC directory. Two devices that need to use these executables are: - Group Mobile MA1000 - Windows CE 3.0, StrongARM processor (Intel) - Symbol PPT 88xx - Windows CE .NET, XScale processor (Intel) There is also a Desktop Pocket PC Emulation environment that runs on the same machine as the Microsoft eMbedded Visual Toolkit. When you start this, you get a window on your Windows PC that looks like a Palm Device. We provide a flavor of the DCConnect Client that runs in this Pocket PC emulation environment. This instance of the DCConnect Client can be treated like a terminal in the DCConnect Server - in much the same way that you can run the Windows NT/2000 flavor of the DCConnect Client on the same PC as the DCConnect Server. The need for different executables for different Windows CE devices also applies when building CFRs to run in Windows CE devices. See the section about building CFRs listed below for more information. For more detailed information about using the DCConnect Client on Windows CE devices please refer to the following sections: - Hardware and Software Requirements for Windows CE Devices - Using Microsoft ActiveSync with Windows CE Devices - Bar Code Configuration for Windows CE Devices - Using Hostnames Instead of IP Addresses for Windows CE Devices - IBM CE Configuration Tool - Setting Registry Keys with the IBM CE Config Tool - Creating Files with the IBM CE Config Tool - Duplicate Answers in the IBM CE Config Tool - File, Directory and Other Commands in the IBM CE Config Tool - Preserving and Reusing the Answers in the IBM CE Config Tool - How to Explore Registry Keys on a CE Device - IBM Get Registry Tool - Changing the Font Used By the Client on a Windows CE Device - Serial Port Use on the Windows CE Devices - Building a .CAB File to Install the Client on a Windows CE Device - Reinstalling the DCConnect Client on a Windows CE Device - Uninstalling the DCConnect Client on a Windows CE Device - Starting the Client on a Windows CE Device - Building CFRs for Windows CE Devices - Building More Than One 'Flavor' of a Windows CE CFR - Building Windows CE CFRs from the Command Line - Adding Another Configuration to a Windows CE CFR Project - Setting Up a Windows CE Device from Scratch The sections above generally apply to all Windows CE devices. However, there are some terminal-specific issues that are discussed in the sections listed below: - Terminal-Specific Issues for the Intermec 600 Terminal - Terminal-Specific Issues for the Intermec 700 Terminal - Terminal-Specific Issues for the Intermec 5020 Terminal - Terminal-Specific Issues for the Intelligent Instrumentation LanPoint CE Terminal - Terminal-Specific Issues for the Symbol PDT 81xx Terminal - Terminal-Specific Issues for Non-Pocket PC, StrongARM Compatible Devices - Terminal-Specific Issues for the Intermec CK30 Terminal - Terminal-Specific Issues for the Intermec CV60 Terminal - Terminal-Specific Issues for the Symbol MC 90xx Terminal - Terminal-Specific Issues for the Motorola (Symbol) MC 91xx Terminal Hardware and Software Requirements for Windows CE Devices --------------------------------------------------------- The DCConnect Client only needs about 1MB of diskspace and 1 or 2 MB of RAM in order to run. Only if the Windows CE device will be running other applications at the same time as the DCConnect Client should you need extra memory or diskspace. Consult the device manufacturer to find out how much free diskspace and free RAM memory is available. While not required, it is strongly recommended that the Windows CE device be installed with non-volatile storage and that that storage be the place where the DCConnect Client runs. With non-volatile storage in place, all transactions generated by the Client are safely stored so that they would survive a cold-boot or total loss of battery power. Non-volatile storage is also generally used to store the DCConnect Client .CAB file. In the event of a cold-start or total loss of battery, the .CAB file would still be on the terminal - thus allowing the Client to be reinstalled without having to use a serial cable or other method to reload the .CAB file. All sample flies and instructions in this document assume the existence of non-volatile storage on the Windows CE device. Loading the Windows CE device will often require either a serial, infrared, or network connection. Therefore the appropriate hardware (e.g. dock, null-modem cable, ethernet cable, ...) will be required in order to load the DCConnect Client on to the device. In addition, certain software such as a web browser and/or Microsoft ActiveSync will probably be required to load the device. Consult the device manufaturer's documentation for instructions about what hardware and software is needed to load the device. If you need to download a CFR to the device, you will need to build the CFR specifically for the device. In order to build CFRs for any Windows CE device, you must install the Microsoft eMbedded Visual Toolkit on your PC. As of September 2003, the 2002 version of the toolkit could be downloaded, free of charge, from the Microsoft website: eMbedded Visual Tools 3.0 - 2002 Edition you can also order a CD for a nominal charge. Some devices (e.g Intermec CK3x) require the Microsoft eMbedded Visual C++ 4.0 compiler. The following links were valid as of September 2008 for getting this compiler and its fix pack: Microsoft eMbedded Visual C++ 4.0 compiler Microsoft eMbedded Visual C++ 4.0 SP4 The MS eMbedded Visual Toolkit also includes Software Development Kits (SDKs) for MS Pocket PC devices, Handheld/PC devices and "Palm-size PC" devices. However, certain devices (e.g. Intermec 5020, Intermec 600, LanPoint CE) also have their own SDK that must be installed after the MS eMbedded Visual Toolkit is installed. These SDKs should be available from the device manufacturer - and are often included on CDs that come with device 'starter kits'. The SDKs that are part of the Microsoft eMbedded Visual Toolkit also include the tool used for building .CAB files (CABWIZ.EXE) - which is the standard way of packing files for download to a Windows CE device. Installation of a .CAB file not only installs files to the appropriate location on the Windows CE device but it can also register .DLLs with the operating system, set values in the registry and set up shortcuts on the Start Menu and other folders. So more than likely you will need to build the .CAB file and thus will require need to download and install the Microsoft eMbedded Visual Toolkit. Unfortunately, there does not appear to be any other way to obtain the CABWIZ.EXE and associated files. For more information, please see Building a .CAB File to Install the Client on a Windows CE Device. The Microsoft eMbedded Visual Toolkit is also necessary if you will be using the IBM CE Config Tool to configure your terminals. So here is a summary of situations that require the installation of the Microsoft eMbedded Visual Toolkit: - If building a custom ETSUSER.DLL - If using the IBM CE Config Tool - If using the Cab Wizard to create a .CAB file - If building a CFR for use on the Windows CE device - If viewing or changing the registry on the Windows CE device If there are any other utilities that are required, for example, to route bar code input to the keyboard, these should be provided by the device manufacturer and would probably already be included in the default load of the device. Windows CE devices include all the radio / network / TCP/IP drivers. So unlike many DOS terminals, there is no need to install any additional drivers. Using Microsoft ActiveSync with Windows CE Devices -------------------------------------------------- Microsoft's ActiveSync software is used to accomplish the following things in conjunction with the use of the DCConnect Client: - Transfer the the .CAB file and supporting files to the Windows CE device. There are sometimes other methods for transferring files to the terminal (e.g. removable compact flash card), but ActiveSync is often the easiest. - If using the IBM CE Config Tool to update the Windows CE registry, then the Remote Registry Editor, which is part of the Microsoft eMbedded Visual Toolkit, is needed to explore the registry to figure out all the keys and this tool works best with an ActiveSync connection. - If debugging a CFR or ETSUSER.DLL using the MS eMbedded Visual C++. ActiveSync can make a connection to the Windows CE device a number of different ways: - Serial port - Infrared port - USB Port - Ethernet / RF connection On some devices, such as the Intermec 700 and Symbol 81xx, in order to establish an ActiveSync connection over Ethernet / RF, the device must establish an ActiveSync connection via the serial port or infrared before the Ethernet / RF ActiveSync connection can be made. During our testing, we used version 3.5 of ActiveSync. As of June 2002, this version was available from Microsoft's website: http://www.microsoft.com At the end of the installation of ActiveSync, ActiveSync will want you to attach your Windows CE device so that an initial connection can be made. This initial connection is usually made via the serial port. For some devices, you do not have to do anything special on the device, just attach the cable and/or the dock and ActiveSync makes the connection automatically. For other devices you have to start a program on the device. Consult the documentation for the device to find out what must be done. Note: In our experience with ActiveSync we have found very inconsistent behavior regarding the ability to establish the ActiveSync connection, particularly over ethernet or RF. We've had to do things in a very precise order to increase the chances of a successful connection. When ActiveSync detects the device, it will ask whether a partnership should be created. Respond 'yes' if you ever want to use an ActiveSync connection over the ethernet or RF. When establishing the partnership, you'll be presented a window with a lot of check boxes associated with different kinds of information that can be synchronized. None of the checkboxes need to be checked for the uses of ActiveSync that are associated with the DCConnect Client. In fact you might have trouble finalizing an ActiveSync connection if, for example, the check box for Inbox, Tasks or Notes is checked and you don't have Microsoft Outlook installed. Once the partnership is established ActiveSync will complete the connection and should end up showing that the device is connected and synchronized. You can now use ActiveSync to do the following things: - Use the 'Explore' button to view the files on the Windows CE device. Used in conjunction with Windows Explorer on the host PC (running ActiveSync) you can transfer files to and from the devices. For some file types a conversion is done - and this conversion is governed by settings that can be viewed/changed via the Options button. For example, .mdb database files are converted to .cdb Pocket Access Database files. Note: Before transferring .CAB files to a Windows CE device, uses Windows Explorer to make sure the read-only attribute for the file is set. If not, the .CAB file is deleted from the device after it is installed. The ActiveSync Explore program does not allow you to change attributes for files directly on the Windows CE device; nor can it be done from the terminal itself. If you are using the MAKECAB.BAT file provided with the DCConnect Client to make your .CAB files, then that .BAT file will make sure the read-only attribute is set for any .CAB file that is created successfully. - Use the Remote Registry Editor from either Microsoft eMbedded Visual Basic or Microsoft eMbedded Visual C++ to explore the registry on the Windows CE device. It is best to use an ActiveSync connection over ethernet or RF if you will be searching or exporting the registry. In order for the Remote Registry Editor to view the registry of the device, you must first use the 'Configure Windows CE Platform Manager...' option on the 'Connection' pull-down menu to specify how to connect to the device. The Platform Manager provides a 'Default Device' for each Platform. We've just used the default device for the Pocket PC when using ActiveSync with the Intermec 700 and the Symbol 81xx. If you highlight the correct device and then select the Properties button you will have a choice of 'Transport Components'. You should be able to use Microsoft ActiveSync. However, we have had trouble using this option. We've been successful using 'TCP/IP Transport for Windows CE'. After highlighting this option, press the 'Configure' button and make sure 'Fixed Port' is checked. The default port number of 5000 worked for us. After you click OK to accept these values, click the 'Advanced' tab and make sure 'Microsoft ActiveSync' is selected. Click OK and then click Test to make sure the transport programs on the device and the PC can talk to each other. If this still does not work, try using the 'Configure' button again and uncheck the 'Fixed Port' checkbox. Click OK and try the Test button again. The Remote Registry Editor provides an 'Add Connection' option from the 'Connection' pull-down menu then select the device that you just configured and press OK. This should start the connection and allow you to access the device's registry. - Use the the MS eMBedded Visual C++ debugger to debug a CFR or ETSUSER.DLL. Just like the Remote Registry Editor, the compiler provides the 'Configure Windows CE Platform Manager..' option - this time on the Tools pull-down menu. Set up your device as described above for the Remote Registry Editor. As was mentioned, using an ActiveSync connection over ethernet or RF is much faster than serial or infrared. However, to establish that connection requires a few more steps. Here are some notes about ActiveSync connections over ethernet or RF: - On the device you must configure both the WINS and DNS servers. If you don't actually have a WINS and/or DNS server, then use the IP address of the PC that is running ActiveSync. - You must first have created a partnership over a serial or infrared connection between the device and the PC before ActiveSync can connect over ethernet or RF. Then the serial or infrared connection must be disconnected before you can establish the ethernet/RF connection. For a serial connection either disconnect the serial cable or remove the terminal from the dock. For an infrared connection, move the terminal out of range of the infrared port on the PC. - Once you have established the partnership and then disconnected, use the 'Connection Settings' option on the File pull-down menu of ActiveSync to select which ways ActiveSync is allowed to connect. The 'Allow network (Ethernet)...' option must be checked. But in some cases we found we also had to uncheck the 'Allow serial...' and 'Allow USB..' options in order for it to work. - After you press OK on the Connection Settings window you should be able to start ActiveSync from the device after making sure it is not connected via the serial port or infrared port (and provided the device is active on the network - i.e. it can be pinged from the PC that is running ActiveSync). Be patient because it can sometimes take up to a minute before the connection is made. The PC side and possibly the terminal side will show that a connection has been made and that the device has been synchronized. - We have seen situations where the connection is made but synchronization fails - even though none of the synchronization check boxes are checked. Often this has been because another network card was active, in addition to the ethernet or radio card that is being used to connect to the device. In this case, we've had to stop the all network/radio cards and then just start the network/radio card that is being used to connect to the device. - Once you've made your connection and done your work you can disconnect from the terminal side and then later reconnect by simply runing ActiveSync from the terminal side. Options in the terminal's ActiveSync program allow you to disconnect and start the connection. - If the terminal is powered off or suspended, simply run ActiveSync from the terminal side again. - If you ever have to cold-boot the device or the battery on the device loses power completely, the partnership information in the terminal will be lost. In order to regain it, you must again make a serial, or perhaps infrared, connection to the host PC that is running ActiveSync. However, before doing so, you must use the option on the File pull-down menu of ActiveSync to delete the partnership because ActiveSync won't let the terminal use the partnership you created originally because it thinks your cold-started terminal is a different terminal. Before choosing the 'Delete Partnership' option from the File pull-down menu be sure that the main ActiveSync window shows that the current partnership is the one with the device that was cold-started. If not, you must first use the 'Mobile Device' option on the File pull-down menu to switch to the correct partnership name. If ActiveSync is currently connected to another mobile device you will have to disconnect that other device before you can change the 'Mobile Device' partner. Once you've deleted the original partnership, be sure that 'Allow serial...' is checked on the 'Connection Settings' window of ActiveSync before trying to establish a connection over the serial port or infrared. - If you find that after establishing a connection, the connection is immediately dropped, look for an option in the ActiveSync settings on the terminal that specifies that ActiveSync should 'disconnect when complete when manually synchronizing.' You will need to turn this option off. Bar Code Configuration on Windows CE Devices -------------------------------------------- Each kind of Windows CE device has its own unique way of configuring the bat code settings. Most of the time, the scanned bar codes can be set up to be routed to the keyboard so that the Client can read the scanned data along with keyed in data. This might require another utility to be running at the same time - as is the case for the Intelligent Instrumentation LanPoint CE. The manufacturer usually also provides a utility for configuring which bar code symbologies are active and perhaps whether or not the scanned bar codes should have prefix (preamble) and/or suffix (postamble) characters added. Using the manufacturer's utility to configure the terminal works just fine, but can be very tedious if you have a lot of devices to configure. If there is a way to download a configuration file along with the DCConnect Client files, then setting up device can be done more quickly. Part of the DCConnect Client product is a program called the IBM CE Config Tool. This tool can be used to update registry keys and create files on the CE device. If the Windows CE device maintains its bar code configuration in the registry, then the IBM CE Config Tool can be used to update the necessary registry keys based on a configuration file (CECONFIG.INI). This is the case for the Intermec 700 terminal. The Intermec 700 registry maintains the active symbologies and their parameters, the preamble and postamble characters along with nearly every other kind of configuration parameter from volume control to WEP encryption key. The IBM CE Config Tool can set static registry key values automatically and it can also prompt the user for values that may have one or more valid choices. For those choices that the user must enter or choose a value, the answer is saved to non-volatile memory so that if the terminal is cold-started or has total loss of battery power, the configuration can be restored without having to ask the user the questions again. For more information about the IBM CE Config Tool, please see Windows CE Configuration Tool. Whether or not the device must be configured to use both a preamble and postamble character depends on whether or not the Client must be able to distinguish between keyboard and scanner input. If there will be certain input fields for which the terminal user is only allowed to scan data, then the Client will need to make the distinction between keyboard and scanner input so that it can ignore keyboard input for these fields. In this case, you must configure a preamble and postamble character for all scanned data and you must add to EMULATOR.INI the SCAN_SENTINEL_CHARS keyword. For more about this keyword, see Keyword: SCAN_SENTINEL_CHARS. In the case that the ability to distinguish between keyboard and scanner input is not required, the device will still need to be configured so that the postamble character is a carriage return; otherwise the terminal user would have to press Enter after every scan. Often the default postamble character is a tab character instead of the required carriage return. Using Hostnames Instead of IP Addresses for Windows CE Devices -------------------------------------------------------------- When configuring the data collection terminals in the DCConnect server configuration, you have the option to specify IP addresses or to use hostnames. The latter allows devices to be configured to use DHCP rather than fixed IP addresses. If hostnames are to be used for Windows CE / Windows Mobile devices, each device must have its Device Name defined uniquely. On many devices, setting the Device Name is done in the Settings -> System tab -> About icon -> Device ID tab - > Device name field. However on some CE devices the System icon in the Control Panel is used instead - to set the Computer name in a similar way to Windows PCs. A Windows CE device defaults to a device/computer name such as Windows_Mobile or something related to the device type. As long as the device is still configured with the default name, it can't be referenced on the network by that default name. But once that name is changed to anything else (and the device is then warm booted), that device can be referenced by that name - for example from a ping command on another system or by the DCConnect Server. Depending on the network setup, it may be necessary to use the fully qualified network name (hostname@domain) when trying to access the device. If this is necessary, then when configuring the devices in the DCConnect server configuration (Terminal Settings -> General tab -> Terminal Address -> TCP/IP) the fully qualified name must be used there as well (along with the port number if that is something other than 7500). IBM CE Configuration Tool ------------------------- The DCConnect Client product includes the IBM CE Config Tool (CEConfig) which was created to simplify the configuration of Windows CE devices. If you only have a couple of devices to configure, it is probably not worth the effort to use the tool. But if you have more than 10 devices then you will probably save time using CEConfig to configure your terminals. Note: Use of the IBM CE Config Tool requires that the Microsoft eMbedded Visual Toolkit be installed because some Visual Basic DLLs must be obtained from this toolkit and must be loaded to the device in order for the Config Tool to run. For more information about how to get this Toolkit please see Hardware and Software Requirements for Windows CE Devices In addition to simplifying the initial configuration of the terminal, recovery of a terminal's configuration after a cold-boot or total loss of battery power can be done automatically if the CEConfig tool was used to set up the terminal. The tool can be used to do the following: - Update the Windows CE registry. Often configuration parameters such as IP address, 802.11 Network Name, active bar code symbologies and volume setting are all maintained in the registry. - The tool can handle registry keys of the following types: REG_SZ - Null-terminated string REG_MULTI_SZ - Concatenated list ofnull-terminated strings with extra null at the end REG_DWORD - Numeric value REG_BINARY - Series of hexadecimal characters - Many values will be the same for all devices. These can be set automatically when the tool runs without any user intervention. - Other values, such as the terminal IP address, will be different on each device. The tool provides the ability to prompt the user for values of this type. - For some values that the user must enter, there may be a certain set of valid choices. For example, if multiple DCConnect Servers are installed, the user may need to be provided a list of servers so that the appropriate one can be selected. The tool can be set up to force the user to select from a predefined list of valid choices for a given value. You can also give the user a list of choices and still allow them to enter a value not in the list. - Often the actual value that goes in the registry is not very user-friendly and rather than showing the actual list of values to the user you would prefer to assign a meaningful name to each value and let the user choose from the list of meaningful names. For example, if the user had to choose from a list of DCConnect Server IP addresses: 2.13.94.8 6.27.96.5 1.6.99.3 11.20.64.37 3.1.65.37 it might be better to present the user with a list of the cities that these servers are located: Charlotte Boca Raton New York Chicago Pittsburgh The tool allows you to make the association between the values and the meaningful names and just present the user with the meaningful names. - If the user must be prompted for answers that would be the same for two or more questions, you need only prompt once and the answer can be reused for other values. For example, perhaps the DNS Server and the WINS Server will always be the same server but the user must choose from 4 servers. Once the user chooses the server, the answer can be applied to both the DNS Server and WINS Server values in the registry. - Every time the user is prompted to enter a value, the answer provided by the user can be saved to non-volatile storage. In the event of a cold-boot or total loss of battery power, the CEConfig tool can be rerun and the old answers will be available to reuse exactly as they were entered. The tool can also be rerun and the previous answers can be reviewed and each changed if necessary. - In addition to updating registry values, the CEConfig tool can be used to create configuration files, such as EMULATOR.INI. If the entire contents of the file are fixed, the file can be created without any user intervention. But if one parameter, such as the DCConnect Server, has several valid choices, the user can be prompted to enter the value just as can be done for registry keys. - The following directory and file operations can be performed: - Create a directory - Remove a directory - Rename a directory - Copy a file - Delete a file - Rename a file - The tool can start another program and wait for it to complete. - The tool can automatically reboot the terminal after all configuration changes and file operations are completed. The user will first be given a Yes/No question of your choice. Only if the user responds Yes will the reboot be peformed. All of the above is accomplished by setting up a configuration file called CECONFIG.INI and then installing it and the CE Config Tool itself (CECONFIG.VB) to the \Windows directory of the Windows CE device. You would typically include these files in the DCConnect Client .CAB file so that the CE Config Tool and the DCConnect Client are installed at the same time. CECONFIG.VB is a Visual Basic application and therefore requires that the Visual Basic runtime be installed on the device. On some devices, such as the Intermec 700, most of the Visual Basic runtime files are already preinstalled. On other devices, you will have to install them. Here are some of the Visual Basic runtime files: pvbform2.dll pvbhost2.dll pvbload.exe vbscript.dll Even when the Visual Basic runtime files are preinstalled, a couple of additional VB files need to be added in order to run the IBM CE Config Tool. These are: pvbdecl.dll MSCEFile.dll All of the Visual Basic runtime files are provided with the SDKs that can be installed along with the Microsoft eMbedded Visual Toolkit. Any of these files that are not already on the terminal will need to be included in the DCConnect Client .CAB file along with the Client files and CECONFIG.VB and CECONFIG.INI. If you look at the default DCCLIENT.INF provided with the DCConnect Client files, you'll see references to pvbdecl.dll and MSCEFile.dll. The remainder of this section will discuss the content of CECONFIG.INI. A sample CECONFIG.INI is provide in the root directory where the DCConnect Client files are installed. Please refer to that file for an example of the proper syntax for some of the commands that can be performed. First a few general rules: - You can include comments in the file by having the first non-whitespace characters be either a semicolon (;) or double slashes (//). - You can have as much whitespace as you want before and after the equal sign and before the keywords. But each keyword, its equal sign and value must all be on the same line. - You can have blank lines between lines wherever you want. Setting Registry Keys with the IBM CE Config Tool ------------------------------------------------- For each change to the registry that is needed, the .INI file will specify a the full key value name, a type identifier and the value to be assigned. There are a number of type identifiers for registry key values: * REG_BINARY * REG_DWORD REG_DWORD_LITTLE_ENDIAN REG_DWORD_BIG_ENDIAN REG_EXPAND_SZ REG_LINK * REG_MULTI_SZ REG_NONE REG_RESOURCE_LIST * REG_SZ To start with, the tool will only support REG_BINARY, REG_DWORD, REG_SZ and REG_MULTI_SZ since they are the most common types. Technically speaking a registry key itself does not have any assignment - although the value name "" is used as the (Default) value for the key. When you specify the value name in the .INI file, the full path for the key and the value name will be combined into a single parameter for the keyword KEY. For example if the following is specified: KEY = \HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DC Connect\1.0\Server version the 'Server version' part is actually considered the value name and the rest is the key name. For simplicity, the .INI file syntax will use the combination as shown above. If you need to update the default value for a key, specify the key name and follow it with the backslash. For example: KEY = \HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DC Connect\1.0\ Here's a more complete example of a key/value definition in the .INI file: [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\ABC\DEF\GHI\KEY TYPE = SZ VALUE = This is my reg string In the example above, the type idenitfier is SZ, which is a simple null-terminated string. The value to be assigned will be all data from the first non-blank character after the = following 'VALUE' up to and including the last non-blank character on the line. You can also enclose the value in double quotes. In this case the double quotes are not considered part of the value string. For example: VALUE = "This is my reg string" If the string contains any double quotes, then use two double quotes for every one the string should contain, whether or not the string is enclosed in double quotes. VALUE = "This string ends with a double quote """ or without the enclosing double quotes: VALUE = This string ends with a double quote "" If nothing follows the = after 'VALUE', the key will be set to an empty string. For example: VALUE = The REG_MULTI_SZ registry key type is a variation of REG_SZ where the key value actually contains a series of strings, each terminated by a null character, with an additional null character at the end of the list. So when TYPE = MULTI_SZ, you will be allowed to have one or more VALUE statements for a given [REGISTRY] definition and they will all be appended together with the imbedded and trailing nulls before being assigned to the registry key value. For TYPE = DWORD, the value is simply a number. For example: VALUE = 33 You should not use double quotes around the value and you must have some number after the equal sign. The number may also be specified as a hex value using syntax such as: VALUE = 0x0000000b The value must start with 0x in order for the tool to interpret it properly. Finally for TYPE = BINARY, you can specify a string of characters in the format 0xhh where hh is a hex value from 00 to ff. For example: VALUE = 0x0d 0x0a If the registry key is binary but is really a unicode string, simply enclose it in double quotes - using the double quote pairing if necessary. You may want to pad the binary unicode string with nulls. If so, specify TYPE = BINARY, LENGTH(nn) where nn is the final length (in bytes) of the string. If you want to specify a string of NULLs for the parameter, use "" for the VALUE. If a series of binary unicode strings should be appended together, specify a series of TYPE, VALUE pairs for the [REGISTRY] definition. For example: [REGISTRY] KEY = HKEY_CURRENT_USER\ControlPanel\Owner\Owner TYPE = BINARY, LENGTH(72) VALUE = "" TYPE = BINARY, LENGTH(72) VALUE = "IBM" TYPE = BINARY, LENGTH(372) VALUE = "8501 IBM Drive, Charlote NC 28262" TYPE = BINARY, LENGTH(50) VALUE = "1-800-IBM-HELP" TYPE = BINARY, LENGTH(74) VALUE = "" For all specified KEYs, if the key/value pair does not yet exist, it will be created. You can specify more than one KEY = value for any [REGISTRY] definition. Each will be set to same value. In addition to being able to set key values that are hard-coded in the .INI file, the tool will also provide a mechanism to prompt the user for values. The following kinds of TYPE keywords are supported: PROMPT_DWORD ------------ Prompts the user for a number. If a VALUE = is specified, that is used as the initial value in the entry field. The user is only allowed to enter decimal values, not hex. If hex values must be entered, the choices will probably be limited to a certain set with certain meanings. In that case the PROMPT_NAMED_DWORD_LIST (see below) should be used. If you want the user to be limited in the range of values that can be selected, you can specify that range following the PROMPT_DWORD parameter in the TYPE command. For example, to limit the range to be 1-20: TYPE = PROMPT_DWORD, 1, 20 Use the PROMPT keyword (described below) to inform the user what the valid range is. PROMPT_SZ --------- Prompts the user for a string. If a VALUE = is specified, that is used as the initial value in the entry field. PROMPT_SZ_LIST -------------- Similar to PROMPT_SZ except that the user is presented a drop-down list of possible strings from which he must select one value. By default the user cannot enter any value except what is in the list. Use the ALLOW_ENTRY keyword (described below) to allow th user to enter a value other than the ones provided in the list. Use the VALUE = keyword for each entry that should be part of the list. All values are added to the listbox alphabetical order. The first VALUE encountered in the file will be the one that is highlighted by default. PROMPT_DWORD_LIST ----------------- Similar to PROMPT_SZ_LIST except that numbers are used instead of strings. PROMPT_NAMED_DWORD_LIST ----------------------- This is a combination of PROMPT_SZ_LIST and PROMPT_DWORD_LIST. The user is shown a list of strings which correspond to certain values; the user does not see the values. But when the user selects a string, the corresponding DWORD is actually what is stored in the registry key. In the .INI file, the new keyword NAMED_VALUE is used to specify the string that goes into the list followed by a comma followed by the number. To simplify processing, the name part cannot contain any commas. Otherwise it will be treated as other strings - with regard to doubling up double quotes that are part of the string and enclosing the entire string in double quotes. Here's an example: NAMED_VALUE = "RED", 6 PROMPT_NAMED_SZ_LIST -------------------- Same idea as PROMPT_NAMED_DWORD_LIST except the name is a more user-friendly description that you want to present to the user instead of the actual value that will be assigned to the registry key. For example, if you want the user to choose from a list of server IP addresses but you'd rather have him choose the name of the server instead of the actual IP address, you could set up a list of choices such as the following: NAMED_VALUE = "CHICAGO SERVER", "10.12.112.1" NAMED_VALUE = "CHARLOTTE SERVER", "10.19.141.1" NAMED_VALUE = "BOCA RATON SERVER", "10.44.100.1" For all of the above, you must provide the following keyword to specify the prompt that is shown to the user: PROMPT = "Select the network name:" The rules for what can follow the equal sign are the same as for VALUE = when type = SZ. For all of the TYPE = keywords that include "_LIST" in the type name, the parameter, ALLOW_ENTRY, can be added, preceded by a comma. This parameter indicates that when showing a list of choices (as a drop-down list) also allow the user to enter a value not in the list. For example: [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip\DefaultGateway TYPE = PROMPT_NAMED_MULTI_SZ_LIST, ALLOW_ENTRY, SORT(15) NAMED_VALUE = 10.94.101.30 (Chicago) , 10.94.101.30 NAMED_VALUE = 10.94.7.30 (Boca Raton) , 10.94.7.30 NAMED_VALUE = 10.94.7.12 (Charlotte) , 10.94.7.12 PROMPT = "Choose location for router:" Notice that the example above also includes SORT(15) as the last parameter of the TYPE = line. This parameter tells the tool to sort the list by the 15th character in each name (where the city starts) rather than by the first character in the name. This parameter can be used for any type that includes _NAMED in the named: PROMPT_NAMED_DWORD_LIST PROMPT_NAMED_SZ_LIST PROMPT_NAMED_MULTI_SZ_LIST Here are some other examples for setting registry keys: // This example is just a simple prompt for the network name (key name made up) [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\INTERMEC\RADIO\NETWORK NAME TYPE = PROMPT_SZ VALUE = ANY PROMPT = Enter the network name: // In this example, the user must choose from a list of predefined values; the // user cannot enter his own value (because ALLOW_ENTRY not specified). // 'WAREHOUSE1' is the default because it is first in the list. [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\INTERMEC\RADIO\NETWORK NAME TYPE = PROMPT_SZ_LIST VALUE = WAREHOUSE1 VALUE = WAREHOUSE2 VALUE = WAREHOUSE3 VALUE = SHIPPING PROMPT = Select the network name: // In this example the value has to be set for two different registry keys // Distance Between Access Points = SystemScale: 3=Small, 2=Medium, 1=Large [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\SystemScale KEY = \HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01\SystemScale TYPE = DWORD VALUE = 1 // This is an example of setting a binary key // Code 39: Not active = 41 4d, active = 41 4c [REGISTRY] KEY = \HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\DevConfig\Code39\Decoding TYPE = BINARY VALUE = 0x41 0x4c Creating Files with the IBM CE Config Tool ------------------------------------------ In addition to being able to update the registry, this tool can also be used for creating text files in the device. Examples of these files would be EMULATOR.INI for the DCConnect Client or either DWTS.INI and CS2CBF01.CFS for DOS/Windows Terminal Services. For these files, most of the file is often hard-coded. But there might be a setting or two that needs to be prompted for from the user. In order to tell the VB tool to create a file, we'll have a new kind of section called [TEXT_FILE] that may include the following keywords: PATH - Specifies the full path and file name for the file to be created. If no path is specified, the file will be created in the root directory. Here's an example: PATH = \Storage Card\DCConnect Client\emulator.ini FILE_FORMAT - Specifies whether output to the file should be written using ASCII or UNICODE characters. If this keyword is not specified the default is ASCII. (In the initial release of this tool, only ASCII is supported). You can also specify APPEND as a parameter for this keyword to indicate all text lines should be appended to the end of the current file. TEXT - Specifies a line of text that should be written to the file verbatim. Rules for specifying the text string are the same as for specifying a VALUE when TYPE = SZ (see above) in a registry key definition. TEXT_PROMPT - Specifies a line of text that includes a place holder %s that indicates where to fill in the value that will be substituted. If for some reason you have an output string that would include %s, use the TEXT command to specify that part of the string and use MULTI_PART to combine the output of that TEXT command with the TEXT_PROMPT command. After the TEXT_PROMPT command you need to specify what will be prompted for using the TYPE, VALUE and PROMPT keyword as described above for registry keys. For example, suppose a particular customer had multiple DCConnect Servers that the DCConnect Client could talk to, the following commands could be used to set up the TCPIP_HOST keyword in EMULATOR.INI: TEXT_PROMPT = "TCPIP_HOST = %s" TYPE = PROMPT_NAMED_SZ_LIST NAMED_VALUE = "CHICAGO SERVER", "10.12.112.1" NAMED_VALUE = "CHARLOTTE SERVER", "10.19.141.1" NAMED_VALUE = "BOCA RATON SERVER", "10.44.100.1" PROMPT = "Select the DCConnect Server:" MULTI_PART - Used to specify that 2 or more TEXT or TEXT_PROMPT commands should actually form a single line in the file. Is really only needed for TEXT_PROMPT keywords but would apply to TEXT keywords if encountered within the specified number of lines. This is useful if you have to prompt for two or more values for a single output line. For example: MULTI_PART = 2 TEXT_PROMPT = "DIMENSIONS = %s," TYPE = PROMPT_DWORD, 1, 16 VALUE = 16 PROMPT = "Enter number of rows (1-16):" TEXT_PROMPT = "%s" TYPE = PROMPT_DWORD, 1, 20 VALUE = 20 PROMPT = "Enter number of columns (1-20):" If the user answered 16 and 20 respectively for the two questions, the single line written to file would be: DIMENSIONS = 16,20 Here's an example of creating an entire EMULATOR.INI file: [TEXT_FILE] PATH = \Storage Card\DCConnect Client\emulator.ini FILE_FORMAT = ASCII TEXT = "PF_MAPPING = Y" TEXT = "NUM_PF_STRINGS = 0" TEXT = "NUM_TOUCH_STRINGS = 0" TEXT = "NUM_ROWS = 16" TEXT = "NUM_COLS = 20" TEXT_PROMPT = "TCPIP_HOST = %s" TYPE = PROMPT_NAMED_SZ_LIST NAMED_VALUE = "CHICAGO SERVER", "10.12.112.1" NAMED_VALUE = "CHARLOTTE SERVER", "10.19.141.1" NAMED_VALUE = "BOCA RATON SERVER", "10.44.100.1" PROMPT = "Select the DCConnect Server:" TEXT = "SELECT_FONT = Lucida Console" TEXT = "MENU_PASSWORD = 123" TEXT = "FULL_SCREEN = Y" Duplicate Answers in the IBM CE Config Tool ------------------------------------------- Another feature of the tool allows you to use an answer from a previous prompt in more than one [REGISTRY] or [TEXT_FILE] section. For every TYPE = statement in the file you can have a corresponding ANSWER = statement that tells the tool to save the answer for later use in the file. For example, we could add the following statement to the section above where TYPE = PROMPT_NAMED_SZ_LIST is being used. ANSWER = DCConnect Server Note that the answer called 'DCConnect Server' is set to one of the values "10.12.112.1", "10.19.141.1" or "10.44.100.1" instead of the name for the value that the user chooses from: "CHICAGO SERVER", "CHARLOTTE SERVER", or "BOCA RATON SERVER". The value that results from this TYPE = statement (usually an answer to a pop-up) can than be used in other [REGISTRY] or [TEXT_FILE] statements by specifying USE_ANSWER(DCConnect Server) as the second parameter on the TYPE = line when the TYPE is one of: SZ SZ_LIST DWORD For example: // In this [TEXT_FILE] section we use the IP address entered by the user // in the first [REGISTRY] section above to be part of a configuration file. [TEXT_FILE] Path = \SAMPLE.INI FILE_FORMAT = ASCII TEXT = "LOGNAME = \Storage Card\logfile.dat" TEXT = "MAX_RECORDS = 1000" TEXT_PROMPT = "IP_ADDRESS = %s" TYPE = SZ, USE_ANSWER(DCConnect Server) The answer called "DCConnect Server" can be used elsewhere in the file as many times as needed. You would normally use the ANSWER = statement associated only with TYPE = statements that specify some sort of PROMPT_.... However, you can actually use it associated with any TYPE = statement, to associate the answer name with a particular value that you might need to use multiple times in the file. In this case, answer name acts similar to an environment variable that can be set once and used many times. So if you had to change the value of the variable/answer, you do it in one place and all the other references to that answer automatically get the new value. File, Directory and Other Commands in the IBM CE Config Tool ------------------------------------------------------------ You can also include one or more [COMMANDS] sections in the CECONFIG.INI file which allows you to perform operations such as creating directories, copying files, deleting files, and merging files. Here are the valid keywords in this sections: MAKE_DIR = \Storage Card\Delivery System\Signatures Used to create a directory. Just specify the name of the directory to the right of the equal sign. REMOVE_DIR = \tempdir Used to remove a directory. Specify the full path to the directory to be removed. RENAME_DIR = \Storage Card\tempdir, \Storage Card\realdir Used to rename a directory. Specify the source directory name then a comma then the new name. Be sure to use the full path in the new name as well. COPY_FILE = \Storage Card\DCConnect Client\emulator.ini, \emulator.ini Used to copy a file. Specify the source file then a comma then the target file. DELETE_FILE = \temp.xxx Used to delete a file. Specify the full path to the file to be deleted RENAME_FILE = \Storage Card\emulator.ini, \Storage Card\emulator.bak Used to rename a file. Specify the source file then a comma then the new name. Be sure to use the full path in the new name as well. MESSAGE = "Any message to show user - perhaps instructing them to do something." Will show the user a pop-up with an OK button. Use this to instruct the user to do something. They should press OK after they have done that task. RUN_PROGRAM = "Program name", "Parameters" Used to start another program. The tool will wait for that program to complete before it continues processing the script. If there are any parameters for the program, you must put a comma after the program name and then list the parameters (the enclosing double quotes are optional). You may have more than one parameter, each must be separated by spaces. Enter the parameters just as you would on the command line. REBOOT = "Yes/No message to show user. If press Yes, terminal will reboot" Tells the tool to reboot the terminal. But first a pop-up is shown, using the message text that you provide as the parameter for this command. This pop-up will have Yes and No buttons. A Yes response will cause the tool to do the reboot. A No response will cause the tool to keep on processing the file; no reboot is done in this case. WARMBOOT = Synonym for REBOOT COLDBOOT = "Yes/No message to show user. If press Yes, terminal will be cold-booted" Tells the tool to cold-boot the terminal. But first a pop-up is shown, using the message text that you provide as the parameter for this command. This pop-up will have Yes and No buttons. A Yes response will cause the tool to do the cold-boot. A No response will cause the tool to keep on processing the file; no cold-boot is done in this case. This command is only available for Intermec devices. FINAL_MESSAGE = "Text to show user" If a REBOOT / WARMBOOT / COLDBOOT is not performed, when the tool completes processing of the .INI file it will show a message similar to "Process complete. Please reboot". You can override that message using this FINAL_MESSAGE command. DONT_END = TRUE Tells the CE Config Tool not to end when the final pop-up is shown (showing the default or overridden FINAL_MESSAGE). Use this in the case that you want the user to manually warm boot or cold boot the terminal and you don't want the user to clear the final pop-up. When this command is in effect, pressing OK on the final pop-up will simply redisplay it. Here is an example of a [COMMANDS] section: // Copy CS2CBF01.CFS and DWTS.INI from storage card to where the are needed [COMMANDS] COPY_FILE = \Storage Card\DeliverySystem\Install\CS2CBF01.CFS, \CS2CBF01.CFS COPY_FILE = \Storage Card\DeliverySystem\Install\DWTS.INI, \DWTS.INI MAKE_DIR = \Storage Card\DeliverySystem\Signatures // Call the VB program that sets up the database. It uses the file CREATEDB.INI to get the // Device ID RUN_PROGRAM = "\Windows\pvbload.exe", "\Storage Card\DeliverySystem\Install\CreateDB.vb" REBOOT = "Do you want to reboot activate these configuration changes?" Preserving and Reusing the Answers in the IBM CE Config Tool ------------------------------------------------------------ One key feature of this tool is the ability to save the answers provided by the user so that they can be reused or just reviewed the next time the tool is run. This allows you to restore the terminal automatically if the terminal is cold-booted or if a total loss of battery power occurs. In order to put this feature into effect, you must create a [SETTINGS] section at the top of the file - before any [REGISTRY] or [TEXT_FILE] section and within that section specify the keyword: ANSWER_FILE_PATH = full path to answer file For example: [SETTINGS] ANSWER_FILE_PATH = \Storage Card\answers.ans When the tool encounters the ANSWER_FILE_PATH keyword, it tries to locate the specified file. If found, the tool will ask the user what it should do with the answers in the file. The user has three choices: 1) Use the answers exactly as entered; don't actually show the prompt for any question. 2) Review the answers. In this case all the prompts in the .INI file are shown using the answers from the answer file as the default in the entry field. 3) Ignore the answers. All the prompts in the .INI file are shown using the defaults specified in the .INI file; the tool acts as if the answer file did not exist. Regardless of what is done with the answers read from the file, the answer file is always recreated using the new answers provided - except in the case where the user chose option 1 to reuse the answers as-is; in this case there is no need to change the answer file. If the ANSWER_FILE_PATH keyword is used and the answer file specified does not exist, then the tool will create the answer file using the answers provided by the user during the current run of the tool. How to Explore Registry Keys on a CE Device ------------------------------------------- If you have installed the Microsoft eMbedded Visual Toolkit and you have an ActiveSync connection to your Windows CE device, then you can use the Tools pull-down menu in either the MS eMbedded Visual C++ Compiler or the MS eMbedded Visual Basic to start the Remote Registry Editor for Windows CE. You can view or change any value in the registry of the Windows CE device. However, before you change any value you should be absolutlely certain of what you are doing or the Windows CE device may not work properly after the change(s) are made. The Remote Registry Editor provides the option 'Export Registry File...' on the 'Registry' pull-down menu. This allows you to create a readable .REG file on your PC that shows all or part of the registry tree, listing keys, values and the associated data. How much is written to the .REG file depends on what key was highlighted when the 'Export Registry File...' option was selected. If you want everything, be sure to select the topmost level (e.g. Pocket PC (Default Device)). It is recommended that you have an ActiveSync TCP/IP connection to the device while using the registry editor - especially if searching or exporting data; searching or exporting the registry can take a long time over a serial connection. Note that a .REG file may not show the data for a particular key in the format that you expect. For example, the IpAddress which is of type REG_MULTI_SZ does not show up in the file like a normal IP address (e.g. 102.102.102.81). Instead it is listed as: "IpAddress"=hex(7):\ 31,30,32,2e,31,30,32,2e,31,30,32,2e,38,31,00,00,00,00 The 31,30,32,2e are four hex values for the four characters '1' '0' '2' '.' which of course are the first 4 characters of the IP address. The 7 in hex(7) indicates REG_MULTI_SZ. Here is the list of values that might appear and what they mean: 0 = REG_NONE 1 = REG_SZ 2 = REG_EXPAND_SZ 3 = REG_BINARY 4 = REG_DWORD / REG_DWORD_LITTLE_ENDIAN 5 = REG_DWORD_BIG_ENDIAN 6 = REG_LINK 7 = REG_MULTI_SZ 8 = REG_RESOURCE_LIST 9 = REG_FULL_RESOURCE_DESCRIPTOR 10 = REG_RESOURCE_REQUIREMENTS_LIST So when searching a .REG file for the IP address, you would not search for "102.". You would instead search for "31,30,32,2e". IBM Get Registry Tool --------------------- The DCConnect Client product includes a companion tool to the IBM CE Config Tool that can be used to find out the value of registry keys on Windows CE devices. Note: Use of the IBM CE Config Tool requires that the Microsoft eMbedded Visual Toolkit be installed because some Visual Basic DLLs must be obtained from this toolkit and must be loaded to the device in order for the Config Tool to run. For more information about how to get this Toolkit please see Hardware and Software Requirements for Windows CE Devices The GetReg tool (GetReg.vb) looks for a file called GetReg.in, in the root directory, which lists one or more registry keys for which the current value should be obtained. The following list of keys is from an example GetReg.in that was used to obtain the radio parameters for an Intermec 730: \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\8021x \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\Association \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\CN1 Running the GetReg.vb program takes the input file and generates an output file called GetReg.out, in the root directory, which is formatted to facilitate copying and pasting into CECONFIG.INI for use with the IBM CE Config Tool. The GetReg tool figures out the type of each registry key value and generates the appropriate CE Config Tool entry. For example, the GetReg.in file shown above produced the following content of GetReg.out: [REGISTRY] KEY = \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\8021x TYPE = BINARY VALUE = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 TYPE = BINARY VALUE = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 [REGISTRY] KEY = \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\Association TYPE = DWORD VALUE = 1 [REGISTRY] KEY = \HKEY_CURRENT_USER\Software\Intermec\80211Conf\Profiles\Profile_1\CN1 TYPE = SZ VALUE = "" The input file, GetReg.In, is allowed to have comments in it. Any line on which the first non-blank character is # or ; or other the first two non-blank characters are //. Changing the Font Used By the Client on a Windows CE Device ----------------------------------------------------------- The DCConnect Client uses a 'non-proportional' (aka'fixed' or 'monospaced') font to display all text so that it is easy to line everything up. It also requests the bold version of the font in order to make it as easy to read as possible. By default, most Windows CE devices that we have tested, will use the Courier New font as the fixed font. While this font works fine, it is smaller than some other fixed fonts that are easier to read on the Windows CE device. Once such font is called Lucida Console. However this font has not been preinstalled on the Windows CE devices that we have tested; Windows CE has very few font files installed (*.TTF). Fortunately, a Windows CE device can use the same font files that are installed on a Windows NT / 2000 PC. And there are a lot more to choose from. Using Windows Explorer, you can change to the \Winnt\Fonts folder and double click on any font file to see what it looks like. Unfortunately determining whether a particular font is non-proportional involves visual inspection. There does not seem to be any flag or keyword that identifies fonts as non-proportional or not. When you double click the font file and it shows examples of the font, part of the screen shows the lower and upper case letters in the font. If the length of these two lines is the same, then the font is most likely non-proportional and could therefore be used by the Client on a Windows CE device. Fonts that appear to be non-proportional are: Courier New (COUR.TTF) Courier New Bold (COURBD.TTF) Courier New Bold Italic (COURBI.TTF) Courier New Italic (COURI.TTF) Letter Gothic (LC______.TTF) Letter Gothic Bold (LCB_____.TTF) Letter Gothic Bold Italic (LCBI____.TTF) Lucida Console (LUCON.TTF) OCR-B MT (OCRBMT.TTF) OCR-A II (OCRA2_P.TTF) QuickType II Mono (QT2M_P.TTF) Any one of these fonts can be installed in a Windows CE device by including it in the DCConnect Client .CAB file. For information about how to include a font file in the .CAB file please see Building a .CAB File to Install the Client on a Windows CE Device. The destination directory for the font file should be %CE15% which usually equates to the \Windows\Fonts directory. However in some cases, such as for the Intermec 5020, the font file must be installed to the Windows directory (%CE2%). Once the font file is installed by the installation of the DCConnect Client .CAB file, Windows CE has to be restarted in order for that font file to be registered with Windows CE. Only after it has been registered can the DCConnect Client use the font. By default, the DCConnect Client asks Windows CE for a non-proportional font and the Client uses the first one that is provided. This behavior can be overridden using the SELECT_FONT keyword in EMULATOR.INI. This keyword is used to specify the font name, not the file name. In the list above, the font name is on the left. For more information about using the SELECT_FONT keyword please see Keyword: SELECT_FONT. Serial Port Use on the Windows CE Devices ----------------------------------------- The COM1 serial port on Windows CE devices can be used by the Client to communicate with devices such as a serial printer or scale. There is currently no officially available serial flavor of the Client that runs on Windows CE devices and that can be used to communicate to the data collection server via the serial port instead of over ethernet. The Client will configure the serial port based on the downloaded serial port configuration (when the serial port is used to talk to another device such as a printer or scale). Building a .CAB File to Install the Client on a Windows CE Device ----------------------------------------------------------------- The best way to install the DCConnect Client on a Windows CE device is through the use of a Cabinet File (.CAB). Installation of a .CAB file not only copies files to the proper locations on the Windows CE device but it can also be used to register DLLs, set registry values and create shortcuts on the Start Menu and in other folders. While the DCConnect Client product includes .CAB files for installing a the DCConnect Client and a default configuration on Windows CE devices, you will more than likely need to make changes to the default configuration and would therefore need to recreate the .CAB file. You do have the option to transfer the .CAB file to the device, install it and then transfer the modified configuration files. However, that is usually much harder to manage, particularly when you have a lot of Windows CE devices to load and configure. For this reason, the DCConnect Client product also includes the .INF files (device INFormation files) that were used to create the .CAB files. Unfortunately, there are enough minor differences between devices, that we cannot provide a single .INF file that would work with all the Windows CE devices that we support. However, if you compared any two .INF files, most of the content would be similar and there are cases where multiple devices types could share the same .INF file. The DCConnect Client product files includes the following .INF file, each shown with the path in which they can be found relative to where the Client files were installed: dcclient.inf ck30\sample\ck30.inf cv60\sample\cv60.inf imec600\sample\imec600.inf imec700\sample\imec700.inf imec5020\sample\imec5020.inf imec6651\sample\imec6651.inf lanptce\sample\lanptce.inf sym81xx\sample\sym81xx.inf sym90xx\sample\sym90xx.inf x86emdbg\sample\x86emdbg.inf All but the first .INF file listed above contain device information specific to only one type of Windows CE device - the one that the name implies. But DCCLIENT.INF is set up to be able to create .CAB files for many different devices with a minimal amount of changes. The rest of this discussion will describe in great detail the contents of DCCLIENT.INF. The .INF file contains device-specific sections along with common sections that apply to all devices. The .INF file provides the ability to perform the following kinds of operations during installation: - Create directories - Copy files to specific directories - Specify where files should be obtained from on the build machine - Create or update registry keys - Create shortcuts on the Start Menu, in the Startup Folder or in any other folder. - Register shared .DLLs with the operating system - Call custom setup routines Windows CE also uses this information to know what needs to be undone when you request to uninstall a product that was installed via a .CAB file. Although the DCConnect Client product includes the .INF files for building .CAB files, for licensing reasons, the product does not include the Cab Wizard tool from Microsoft that is required to create .CAB files from those .INF files. This tool must be obtained from Microsoft as part of one of the Software Development Kits (SDKs) that are part of the Microsoft eMbedded Visual Toolkit. For information about how to obtain this toolkit from Microsoft for free, please see Hardware and Software Requirements for Windows CE Devices. Note: Some older Windows CE devices, such as the Intermec 5020 with Windows CE 2.11, use a slightly different .INF file format and also use a different tool (CABARC) for building the .CAB file. Because the DCConnect Client now supports only Intermec 5020 terminals with Windows CE 3.0, the use of the CABARC utility and its .INF file format are not described in this document. The description that follows references the DCCLIENT.INF that is provided with the DCConnect Client files; so you may want to view that in an editor while reading this. When reviewing this file, note that any line preceded by a semicolon is considered to be a comment and therefore will be ignored by the Cab Wizard tool. The .INF is made up of several different sections as described below: [Version] - Gives information about the operating system and the provider of the application. This section does not usually need to be changed. [CEStrings] - Defines variables used in the .INF file - in much the same way that environment variables are defined. There are two key variables that are defined here: AppName = "DCConnect Client" InstallDir = "\Storage Card\%AppName%" AppName gives the name of the application and it is used in several places including when specifying the installation path, when creating short cuts to the application and when setting up the registry entry. InstallDir specifies where to install the files on the CE devices. Its definition often includes the use of %AppName% as a sub-folder name. %InstallDir% is used throughout the file when specifying, not only where files will go but also when defining shortcuts and registry definitions. Note: For devices running versions of Windows CE prior to 3.0 (e.g. Intermec 600), %InstallDir% cannot be used when defining registry keys (in the section [RegSettings.All]). Instead the literal meaning of %InstallDir% must be used. If there is non-volatile disk storage in the target device then it is usually best to specify the %InstallDir% be in that non-volatile storage. Many devices have a removable compact flash card that serves both as non-volatile storage and as a means of transferring files to the device. For other devices this non-volatile storage is internal and cannot be removed. The non-volatile storage is often given the directory name '\Storage Card' in the Windows CE file system. The default DCCLIENT.INF defines the %InstallDir% to be a sub-directory of \Storage Card for most devices. However, that does not work for all devices. Here are two exceptions: The Intermec 600 has an internal non-volatile flash card that is given the directory name \Storage_Card (note the use of the underscore here where a space is used for other devices). The 600 also has the option to use a removable non-volatile flash card. This removable card is given the directory name \ATACard. The Symbol 81xx terminal does not have a \Storage Card directory either. The non-volatile flash storage on this device is given the directory name \Application. There is also an optional \Data directory which is non-volatile storage. Similarly, the HHP 7400 uses the directory name \IPSM for its non-volatile storage. [CEDevice.XXXXX] - There are multiple sections of this type - one for each combination of processor / Windows CE version that is supported. You can have sections where the XXXXX portion has names like: [CEDevice.X86EM] [CEDevice.MIPS] [CEDevice.SH3] which specifies the processor type. But you can also use more meaningful names that apply to a specific device such as: [CEDevice.IMEC600] [CEDevice.IMEC700] [CEDevice.LanPTCE] [CEDevice.Symbol81xx] This is actually necessary when two devices have the same processor but use different versions of Windows CE. This is the case for the Intermec 600 and Intelligent Instrumentation LanPoint CE. Both have X86 processors, but the Intermec 600 uses Windows CE version 2.12 while the LanPoint CE uses version 3.0. If you look through the .INF file, you'll probably notice that the .XXXXX qualifier is used not only for [CEDevice.XXXXX] but also for the following kinds of sections: [DefaultInstall.XXXXX] [SourceDisksNames.XXXXX] [SourceDisksFiles.XXXXX] So this qualifier not only identifies the processor type and valid Windows CE versions, but it is also used to define which files are to be copied and registered and where these files should be copied from on the build system. You should not have to change any of the [CEDevice.XXXXX] sections that are already defined. But you may need to create new ones if you have a new devices to support. Note: If you have a device that has a processor / Windows CE version combination that is not already listed in the file, not only would you have to add the appropriate sections to this file, but you would also have to request from IBM, executables for the DCConnect Client that are built for this processor / Windows CE combination. In this situation, contact your IBM representative to find out whether IBM is able to do this and to find out whether there are any charges involved. [DefaultInstall] - This section works in conjunction with all of the sections of the type [DefaultInstall.XXXXX] to specify what installation operations should be performed. The statements in this section apply to all devices. In the default DCCLIENT.INF, the following statements are in this section: CopyFiles = Files.Client, Files.ClientData, Files.Fonts CEShortcuts = Shortcuts.All AddReg = RegSettings.All The first line tells the Cab Wizard which sets of files should be copied for all devices. The sections [Files.Client], [Files.ClientData] and [Files.Fonts] list one or more files, later in this .INF file. The second line tells the Cab Wizard that the installation should create all Short Cuts on the Windows CE device that are defined in the section [Shortcuts.All] which is near the bottom of the file (and is disucssed below as well). The third line tells the Cab Wizard that the installation should add to the registry those keys that are defined in the section [RegSettings.All] - which is at the bottom of the file (and is discussed below). You can also specify the following statements in this section if they apply to all devices: CESetupDLL = ... ; Name of Setup DLL to run CESelfRegister = ... ; Names of DLLs that must register ; themselves. [DefaultInstall.XXXXX] - There are multiple sections of this type - usually one for each [CEDevice.XXXXX] section that is defined. This section can include the same statements that [DefaultInstall] can include: AddReg = ... ; Specifies one or more section names [xx.yy] CEShortCuts = ... ; Specifies one or more section names [xx.yy] CopyFiles = ... ; Specifies one or more section names [xx.yy] CESetupDLL = ... ; Specifies a single .DLL name CESelfRegister = ... ; Specifies one or more .DLL names It's also valid to have no statements for some of the devices. In DCCLIENT.INF you'll see that [DefaultInstall.IMEC700] includes the following statements (actually commented out by default): CopyFiles = Files.FullScreen, Files.CfgTool CESelfRegister = pvbdecl.dll, MSCEFile.dll CEShortcuts = Shortcuts.CfgTool The 'CopyFiles' statement above lists a couple of sets of files that should be installed - in addition to those that are listed in the [DefaultInstall] section. These extra files are needed only if the Client should run in "full- screen" mode and if the IBM CE Config tool will be used. The 'CESelfRegister' statement lists .DLLs that must be registered with Windows CE during the install process. 'pvbdecl.dll' and 'MSCEFile.dll' are both Visual Basic product DLLs that are needed to run IBM's CE Config tool. Intermec 700 terminals come with the rest of Visual Basic runtime already installed. The 'CEShortcuts' statement lists additional short cut section(s) that should be included for creation of more shortcuts - in addition to those short cuts that are defined in the [DefaultInstall] section above. The [Shortcuts.CfgTool] section below adds a shortcut for the CE Config tool to the Start Menu. [SourceDisksNames] - This section works in conjunction with all of the sections of the type [SourceDisksNames.XXXXX] to specify where, on the build PC, files are located so that the proper ones can be found when creating the .CAB file. In the default DCCLIENT.INF, the following statements are in this section: 1 = ,"Common files",,. 2 = ,"Windows fonts",,c:\winnt\fonts At the start of every statement is a number that is used to identify a particular directory. The numbers 1 and 2 are defined in the [SourceDisksNames] section while the numbers 3, 4 and 5 are defined in the [SourceDisksNames.XXXXX] sections (although 4 and 5 are not always used). You will have as many different numbers as you have different directories on the build PC from which to copy files. These numbers 1-5 are used later in the [SourceDisksFiles] section for each file listed to indicate where each file should be found. So the numbers serve as a very short directory identifier. The first parameter (goes before the first comma) and third parameter (goes between the 2nd and 3rd commas) are always empty (their use is not even documented!). The second parameter is a comment that show up during .CAB file creation and installation. The last parameter is the fully qualified path in which to find files. IMPORTANT: Do not end the directory name with a backslash because the .CAB Wizard takes this to mean the next line should be added to the end. In first statement above, the directory identifier 1 is set up for the "Common files", which are to be found in the current directory '.' - which is the current directory at the time that the Cab Wizard tool is run. If you look in the [SourceDisksFiles] section, you'll see that the directory identifier 1 is used for 'etscheck.lic' and any other file that should be found in the current directory. In the second statement statement, the directory identifier 2 is set up for the "Windows fonts" which are found in the Windows NT/2000 font directory. If you look in the [SourceDisksFiles] section, you'll see that the directory identifier 2 is used for font file 'lucon.ttf'. [SourceDisksNames.XXXXX] - There are multiple sections of this type - usually one for each [CEDevice.XXXXX] section that is defined. Because each processor / Windows CE combination requires the creation of different .DLL and .EXE files, then each of these sections points to a different source directory in which to find the appropriately built .DLL and .EXE. For example, in DCCLIENT.INF you'll see that [SourceDisksNames.IMEC700] includes the following statements: 3 = ,"IMEC700 files",,IMEC700 4 = ,"VB Runtimes",,"g:\wincetools\wce300\MS Pocket PC\Runtimes\arm" 5 = ,"VB Controls",,"g:\wincetools\wce300\MS Pocket PC\Controls\arm" Directory identifier 3 specifies the IMEC700 directory relative to the current directory. Directory identifiers 4 and 5 specify where to find the Visual Basic product files that are installed as part of the Microsoft eMbedded Visual Toolkit SDK for the MS Pocket PC. Note that the last part of these directory paths is 'arm' which is for the Intel StrongARM processor - which is the processor that the Intermec 700 uses. In [SourceDisksNames.IMEC6651], the last part of these directory paths is 'mips' which is for the Toshiba MIPS processor used by the Intermec 6651. Note you can list one or more directory identifiers in these sections for anticipated later use - even if currently no files will be used from that directory. As is shown above, the sample DCCLIENT.INF references the directory g:\wincetools\... as the location to find the Visual Basic .DLLs. This is the directory on our test system where the Microsoft eMbedded Visual Toolkit SDKs were installed. On your system this directory name will more than likely be different. By default, installation of the SDKs will be to C:\Windows CE Tools. [SourceDisksFiles] - This section works in conjunction with all of the sections of the type [SourceDisksFiles.XXXXX] to specify where each individual file is located by associating each with one of the previously defined directory identifiers (1-5 in this case). In the default DCCLIENT.INF, the following statements are in this section (some of which may be commented out): etscheck.lic = 1 emulator.ini = 1 logfile.log = 1 logfile.ndx = 1 etspt.exe = 3 etspt.dll = 3 ; Fonts lucon.ttf = 2 All files in this section are usually also listed in one of the [Files.YYYYY] sections later in the .INF file. The job of the [SourceDisksFiles] and [SourceDisksFiles.XXXXX] sections is simply to specify where each file should be found. But the job of the [Files.YYYYY] sections is to specify which files will be included in the .CAB file (in conjunction with the 'CopyFiles' statements in the [DefaultInstall] and appropriate [DefaultInstall.XXXXX] sections). Therefore it is possible to have entries in the [SourceDisksFiles] and [SourceDisksFiles.XXXXX] sections that are commented out in or are not included in any of the [Files.YYYYY] sections. Therefore, if you want to temporarily remove a file from being included in a .CAB file, you can comment it out in the appropriate [Files.YYYYY] section but do not have to comment it out in the [SourceDisksFiles] or [SourceDisksFiles.XXXXX] sections. However, the Cab Wizard does expect to find each file listed in this section - based on the associated directory identifier. So every file listed in the [SourceDiskFiles] section must be found even if it will not be included in the .CAB file. If there are files that exist for some .CAB files and not for others, they should be specified in the appropriate [SourceDisksFiles.XXXXX] sections as described below. In the example above, 4 files are associated with directory identifier 1 which is defined to be the current directory in the [SourceDisksNames] section. The font file, lucon.ttf, is associated with directory identifier 2 which is also defined in the [SourceDisksNames] section. But the executable files, etspt.exe and etspt.dll, are associated with directory identifier 3 which actually indicates a different directory depending on which .CAB file is being built. You'll note that 3 is defined in each of the [SourceDisksNames.XXXXX] sections to be a different directory because these executables have to be built differently based on the processor and Windows CE version. [SourceDisksFiles.XXXXX] - There are multiple sections of this type - usually one for each [CEDevice.XXXXX] section that is defined. Every one of these sections does not have to list any files; some could be set up just as placeholders. Each of these sections is used in conjunction with the common [SourceDisksFiles] section to tell the Cab Wizard where to find individual files - based on the associated directory identifier. These sections should be used to list files that would not be found for every kind of .CAB file that can be built. Using the default DCCLIENT.INF as an example, notice that the section [SourceDisksFiles.IMEC700] lists the following files: pvbdecl.dll = 4 MSCEFile.dll = 5 ceconfig.ini = 1 ceconfig.vb = 1 etsuser.dll = 3 The files with directory identifiers 3, 4 and 5 are located in different places based on the definition of each of these directory identifiers in the matching [SourceDisksNames.XXXXX] section - in this case [SourceDisksNames.IMEC700]. But in the section [SourceDisksNames.IMEC600], directory identifiers 4 and 5 are not even defined because the toolkit for the Intermec 600 does not include the Visual Basic DLLs. The default DCCLIENT.INF does not list any other [SourceDisksFiles.XXXXX] sections except for the one for [SourceDisksFiles.IMEC700]. But you could have one for each XXXXX section in the .INF file. [DestinationDirs] - This section is used to specify where on the target device files and shortcuts should go during .CAB file installation. There is only one of these sections. Therefore all .CAB files created from this .INF file will install their files to the same place on the target device. For some reason the .CAB file syntax does not allow for sections of the type [DestinationDirs.XXXXX] even though that would seem to follow as the logical place to specify the destination for files that apply only to specific devices. One statement in this section usually defines the 'DefaultDestDir' in order to cover any [Files.YYYYY] and [Shortcuts.ZZZZZ] sections that are not explicitly listed here. In the default DCCLIENT.INF, the following statements are listed: Shortcuts.All = 0,%InstallDir% Files.Client = 0,%InstallDir% Files.ClientData = 0,%InstallDir% Files.Fonts = 0,%CE15% ; \Windows\Fonts DefaultDestDir = 0,%InstallDir% ;Uncomment the following if including the CE Config Tool ;Shortcuts.CfgTool = 0,%InstallDir% ;Files.CfgTool = 0,%CE2% ; \Windows ;Uncomment the following if including the full screen files ;Files.FullScreen = 0,%InstallDir% The first parameter to the right of the equal sign is always 0. The second parameter specifies the directory on the target system in which to install the files that are listed in the [Files.YYYYY] or [Shortcuts.ZZZZZ] section to the left of the equal sign. (A .lnk file is created for each shortcut). Most of the statements reference the %InstallDir% variable that is defined at the top of the file. However, all files listed in [Files.Fonts] will be installed to the Windows CE fonts directory - as defined by the directory identifier %CE15%. Likewise, all files associated with the IBM CE Config Tool (those listed in [Files.CfgTool] will be installed to the \Windows directory. Note that because the 'DefaultDestDir' is defined to be the same as most of the statements, this section could be reduced to just 3 lines (DefaultDestDir, Files.Fonts and Files.CfgTool). If you do not have a 'DefaultDestDir' statement and you do not include one of the [Shortcuts.ZZZZZ] or [Files.YYYYY] sections that is defined in the file, you'll get an error when running the Cab Wizard. In addition, any Files.YYYYY or Shortcuts.ZZZZZ sections that are referenced in this section must be part of the the [DefaultInstall] or the appropriate [DefaultInstall.XXXXX] section or an error will result when running the Cab Wizard. That is why Shortcuts.CfgTool, Files.CfgTool and Files.FullScreen are commented out above. These sections do not apply to the IMEC600, for example, and if uncommented, they would result in an error when building the IMEC600 .CAB file. [Shortcuts.All] - This section is one of two that defines certain shortcuts that should be created on the target device during installation of the .CAB file. This [Shortcuts.All] section is specified as part of the [DefaultInstall] section in the 'CEShortcuts' statement. Because it is part of the [DefaultInstall] section, it applies to all .CAB files that are created from this .INF file. The default DCCLIENT.INF contains the following statements: %AppName%,0,etspt.exe,%CE17% ; Put it in the Start Menu %AppName%,0,etspt.exe,%CE4% ; Put it in the Startup folder %AppName%,0,etspt.exe,%InstallDir% ; Backup shortcut in install dir The first parameter is the text for the short cut that will appear on the target device. In all cases above, %AppName% is used. This is defined to be "DCConnect Client" in the [CEStrings] section at the top of the .INF file. So the first statement, which adds an entry to the Start Menu, will add a an entry called "DCConnect Client" to the Start Menu. The second parameter is 0 if the shortcut points to a file. It is non-zero if it is a shortcut to a folder. The third parameter is the name of the file that the shortcut will open. This file must be listed in one of the [Files.YYYYY] sections. In all three cases the shortcut opens the DCConnect Client executable. The last parameter specifies where the shortcut will go. This is the only parameter that is different between the three statements. - The first statement adds the shortcut to the directory defined by the Windows CE directory identifier %CE17%. For most devices this is the Start Menu. But in some cases this is the Favorites menu (Intermec 600). - The second statement adds a shortcut to the %CE4% directory which is the Windows CE Startup folder. This causes the DCConnect Client to be started whenever the device is rebooted. - The third statement adds a backup of the shortcut to the directory into which the DCConnect Client files are installed. Note that this section did not have to be called [Shortcuts.All]. The 'All' part could have been anything as long as all occurrences of it are consistent. The installation of the .CAB file on an Intermec 5020 does not seem to acknowledge the %CE17% identifier for adding a shortcut to the Start Menu. We found that you can use %CE11% to add the Shortcut to the Programs folder off the Start Menu. But even though that is successful, the name that shows up on that menu is the name of the executable 'etspt.exe' instead of the first parameter. [ShortCuts.CfgTool] - This is an additional list of shortcuts that are only needed for the creation of certain .CAB files. Notice that ShortCuts.CfgTool is only part of the following sections: [DefaultInstall.IMEC700] [DefaultInstall.Symbol81xx] [DefaultInstall.HHP7400] in the default DCCLIENT.INF file (usually commented out). The statements in [ShortCuts.CfgTool] are: CE Config Tool,0,ceconfig.vb, %CE17% ; Put it in the Start Menu CE Config Tool,0,ceconfig.vb, %InstallDir% ; Put it in the install dir The first adds to the Start Menu (or Favorites Menu) a shortcut for opening the IBM CE Config Tool Visual Basic executable. The second adds a backup of the same shortcut to the installation directory. [Files.YYYYY] - There are usually multiple sections of this type. Each lists a particular set of files that could be included in the various .CAB files that can be created from the .INF file. Files must be split into different sections when either of the following is true: - Files must be installed into different directories on the target device - Some .CAB files will include certain sets of files and other .CAB files will not. The default DCCLIENT.INF includes 5 different [Files.YYYYY] sections for the following reasons: - [Files.Client] - These are the DCConnect Client executables. These could actually be combined with the files listed in [Files.ClientData] because all .CAB files include them and they all install to the same place for the devices handled by this .INF file. However, there may be cases where the data files and executables have to be in separate directories. This is actually the case for Intermec 5020 terminals with version 2.11 of Windows CE (not handled by this .INF file). For that terminal, executables have to go into the \Windows directory which is not non-volatile storage. The data files were set up in non-volatile storage so that transactions would not be lost in the event of a terminal reset or total loss of battery power. - [Files.ClientData] - These are the data files read or created by the DCConnect Client. See the previous bullet for explanation as to why these are separated from the Client executables. - [Files.Fonts] - Although all .CAB files include the file(s) listed in this section, these file(s) are installed to the Windows CE fonts directory (as is defined in the [DestinationDirs] section). - [Files.FullScreen] - The file(s) in this section are only set up to be included for some of the possible .CAB files (e.g. IMEC700). They are installed to the same directory as the Client (as is defined in the [DestinationDirs] section). - [Files.CfgTool] - These are the file(s) that are part of IBM's CE Config Tool which was created with Microsoft's eMbedded Visual Basic. All files in this section are installed into the \Windows directory. And these files are not installed for all .CAB files. If you look back at the [DefaultInstall] section you'll see that the 'CopyFiles' statement references the first 3 of these [Files.YYYYY] sections. Therefore they are a part of all .CAB files created from this .INF file. The other two [Files.YYYYY] are only part of a couple of the device-specific [DefaultInstall.XXXXX] sections. To temporarily exclude a file from the creation of .CAB files, you can simply comment it out in the appropriate [Files.YYYYY] section. You do not have to also comment it out in the [SourceDisksFiles] or [SourceDisksFiles.XXXXX] section. Only if the file does not actually exist on the source PC will it have to be commented out in those sections. Four parameters make up a statement in one of the [Files.YYYYY] sections: - The first is the file name without any path specified (files are found on the build PC based on the [SourceDisksFiles] and [SourceDisksFiles.XXXXX] sections. Files are installed on to the target device based on the [Files.YYYYY] section they are in and based on the [DestinationDirs] section. - The second parameter is usually blank - unless the source file name is different from the target file name. In this case, the second parameter is the source file name. You must also make sure the appropriate [SourceDisksFiles] or [SourceDisksFiles.XXXXX] section uses the source file name. - The third parameter is always blank. - The optional fourth parameter is a flag, entered as a hex value, that specifies certain things to take into account when copying the file: 0x00000001 - Warn user if an attempt is made to skip a file after an error has occurred. 0x00000002 - Do not allow a user to skip copying this file. 0x00000010 - Do not overwrite the file if it already exists in the destination directory. 0x00000400 - Only copy the file if it already exists in the destination directory. 0x20000000 - Do not copy file if the target file is newer. 0x40000000 - Ignore date while overwriting the target file. 0x80000000 - Create a reference when a shared file is counted. These flags can be combined if necessary. For example to create a shared reference for a file that cannot be skipped use: 0x80000002. [RegSettings.All] - This section defines what registry updates must be made during the installation of the .CAB file. You may have more than one [RegSettings.RRRRR] sections - each with a unique .RRRRR in the name. RegSettings.All is referenced in the section [DefaultInstall] for the 'AddReg' statement. If you had an additional [RegSettings.RRRRR] section that only applied to a certain device-specific [DefaultInstall.XXXXX] section, then you would add an 'AddReg' statement to that [DefaultInstall.XXXXX] section and reference the [RegSettings.RRRRR] section. The default DCCLIENT.INF file includes the following statement in this section: HKLM,"Software\IBM\%AppName%",path,0x00000000,%InstallDir% The parameters are as follows: - The first parameter is one of HKCR, HKCU or HKLM which are short for HKEY_CLASSES_ROOT, HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE respectively. This specifies the registry root location. - The second parameter specifies the subkey name. In the statement above, part of the subkey name is the %AppName% which is defined to be 'DCConnect Client' in the [CEStrings] section. - The third parameter is the name of the value to be set. If empty, the '(default)' registry value name is used. - The fourth parameter is a flag that specifies what type the value is. It can be one of the following: 0x00000000 = REG_SZ (null-terminated string) 0x00010000 = REG_MULTI_SZ (concatenated strings with extra null at the end) 0x00000001 = REG_BINARY 0x00010001 = REG_DWORD You can also combine any of the above with 0x00000002 to specify that if the registry key already exists it should not be overwritten. - The last parameter is the actual value to be stored. For REG_MULTI_SZ, the different strings should be separated by commas. For REG_BINARY, this must be a list of numeric values separated by commas, one byte per field, and must not use the 0x hexadecimal prefix. For REG_DWORD, plus and minus signs can be used and the number can be specified as hex or decimal. For the strings specified for either REG_SZ or REG_MULTI_SZ, the variables %InstallDir% and %AppName% can be used as all or part of the string value - but not for all devices. For the Intermec 600, substitution is not performed for these variables. Therefore you have to literally specify the entire string as it should appear in the registry. For example, the statement above would have to be specified as follows for the Intermec 600: HKLM,"Software\IBM\%AppName%",path,0x00000000,\Storage_Card\DCConnect Client Thel statement in the [RegSettings.All] section will create the key: \HKEY_LOCAL_MACHINE\Software\IBM\DCConnect Client and create a value named 'path' of type REG_SZ associated with that key and assign it the value: \Storage Card\DCConnect Client When the DCConnect Client starts up, it looks for this registry key to figure out where its data files are located. Make sure you understand the meaning of all of the sections in the .INF file before making any changes. Additional comments are at the top of the file which describe what sections of the files might need to be changed. If you want to recreate a .CAB file and have made the appropriate changes to the .INF file, you can use the MAKECAB.BAT file, which is provided with the DCConnect Client product, to run the Cab Wizard against the .INF file. Following are a couple notes about how to use MAKECAB.BAT and what it does: - MAKECAB.BAT uses the environment variable SDKROOT to locate the Cab Wizard tool. SDKROOT must be set to point to the root directory where the SDKS are installed (such as for MS Pocket PC, Intermec 600, LanPoint CE, ...). By default this would be "C:\Windows CE Tools" but you may have changed that when you installed the SDKs. On our test system we changed it to G:\WinCETools. SDKROOT is NOT set up automatically by the installation of the SDKs. Therefore you will need to set it up yourself (using the System settings in the Control Panel) or you could change MAKECAB.BAT by replacing %SDKROOT% with the appropriate path. It is recommended that you set up the environment variable rather than changing the file because installation of future CDs and fix packs will replace this file in the installation directory. - MAKECAB.BAT is set up to take two parameters: the .INF file name (without the .inf extension) and an indicator of which device section to process. The second parameter must be one of the XXXXX values that is used in any of the [CEDevice.XXXXX] sections of the .INF file. For example, to build a .CAB file for the IMEC700 sections of DCCLIENT.INF, you would run the following at a command prompt: makecab dcclient imec700 If the device section and the .INF file name are the same, you can pass a single parameter. For example, if you had copied dcclient.inf to imec700.inf and wanted to build a .CAB file for the IMEC700 sections from that file, you could run the following: makecab imec700 If you look at the directory where the Client files are installed, you'll see a SAMPLE directory under every Windows CE parent directory (e.g. IMEC600, IMEC700, LANPTCE, ...). In each SAMPLE directory is a .INF file with a name that matches the device (IMEC600.INF, IMEC700.INF, ...). The way these are set up allows you to run MAKECAB.BAT with a single parameter. - The Cab Wizard tool will generate a .CAB file using a name that combines the .INF file name (without the .INF extension) and the XXXXX value passed in to specify the device/cpu. So if you ran 'makecab dcclient imec700' the Cab Wizard tool creates dcclient.imec700.cab. And if you ran 'makecab imec700' the Cab Wizard tool creates imec700.imec700.cab. Because these generated names can be a little unwieldy, MAKECAB.BAT will rename the generated .CAB file to elimate the .INF file part. So for the generated name dcclient.imec700.cab, MAKECAB.BAT would change it to imec700.cab. And for imec700.imec700.cab, MAKECAB.BAT would also change it to imec700.cab. In a nutshell, when MAKECAB.BAT is done, it will take the last parameter provided to it and add the .CAB extension. - When MAKECAB.BAT calls the Cab Wizard, it tells it to write any warnings or errors to MAKECAB.OUT. After the Cab Wizard is done and MAKECAB.BAT tries to rename the .CAB files, MAKECAB.BAT types out the contents of MAKECAB.OUT so that you can see if the Cab Wizard generated any warnings or errors. Be sure to inspect MAKECAB.OUT for errors that prevent the .CAB file from being built. It is not unusual to get warnings even when a proper .CAB file is generated. For example, the following warning is harmless: Warning: Section [DestinationDirs] key "Files.Fonts" is not using the string "%InstallDir%" - The CAB Wizard utility requires the files cabwiz.ddf and makecab.exe to be in the same directory as 'cabwiz.exe'. This should be taken care of automatically when the SDKs for the Microsoft eMbedded Visual Toolkit are installed. Reinstalling the DCConnect Client on a Windows CE Device -------------------------------------------------------- If during the reinstall of a DCConnect Client .CAB file you get errors about files being in use and the installation is unable to continue, before retrying the install, try uninstalling the Client as is described below in the section Uninstalling the DCConnect Client on a Windows CE Device. Uninstalling the DCConnect Client on a Windows CE Device -------------------------------------------------------- If the DCConnect Client is installed using a .CAB file that was created as described in Building a .CAB File to Install the Client on a Windows CE Device. then the Windows CE 'Remove Programs' function should be able to uninstall the Client after doing one possible manual operation. If the .CAB file installed a font file such as LUCON.TTF and the terminal has been rebooted causing Windows CE to find and register that font file, then an error will be given during the uninstall process when trying to remove the font file. The error will state that the file is in use and the uninstall will not complete. In order for the uninstall to be successful, the font file must first be deleted manually and then the 'Remove Programs' operation should be done. On a Pocket PC Device, the Remove Programs icon can be found by choosing Settings from the Start button and then going to the Settings tab. On the Intermec 600 with version 2.12 of Windows CE, the Remove Programs icon is on the Control Panel which can be accessed by choosing Settings from the Start Menu. Starting the Client on a Windows CE Device ------------------------------------------ If the DCConnect Client is installed on the Windows CE device using a .CAB file that was created as described above in the section Building a .CAB File to Install the Client on a Windows CE Device then there will be a shortcut on the Start Menu for starting the "DCConnect Client". On some devices, this shortcut is created on the Favorites menu or Programs Menu under the Start Menu instead of directly on the Start Menu. The installation of the .CAB file should also create a shortcut in the Windows Startup folder. This will cause the Client to be started automatically whenever the device is rebooted. On Windows CE only, the Client is designed such that if a second copy is started, it locates the first copy and brings it to the foreground and then the second copy ends itself. This was done because on Windows CE, once another application moves to the foreground, bringing the Client back to the foreground requires going through the following steps: Start button -> Settings option -> System tab -> Memory icon -> Running Programs tab -> select DCConnect Client -> Activate button But since the second copy locates the first, all you have to do to find the running copy is to click on the DCConnect Client option on the Start Menu (or the Client's bar code mini-icon at the top of the start menu). Building CFRs for Windows CE Devices ------------------------------------ For DOS-based terminals running the DCConnect Client and the original IBM 752x terminals, CFRs were built as 16-bit .EXE files. However, when the Client is running on a Windows CE device, CFRs must be built as Windows CE DLLs. In addition, if the building of your CFR requires linking any libraries that weren't part of the C compiler, these libraries must also be rebuilt as Windows CE libraries. Note: Even CFR DLLs and libraries that were built for the Client running on Windows 95/98/Me/NT/2000/XP/7/Server cannot be used on a Windows CE device. The CFR source files (.C and .H files) that were used when building DOS CFR exectuables should not have to change when you want to create CFR DLLs for Windows CE from that same source. Note: Because DOS-based devices, Windows devices and Windows CE devices all use different CFR executables, when configuring terminals using the DCConnect User Interface, terminals using different CFR executables will have to be in different 'function groups' - even if all of the rest of the configuration (transaction programs, validation files, ...) are the same. During our testing we built our test CFRs using the Microsoft eMbedded Visual Toolkits and associated device-specific SDKs. For more information about acquiring and installing the toolkits and SDKs, please see Using Microsoft eMbedded Visual Toolkits to Build CFRs for Windows CE Devices. As was noted in the previously referenced section, there are many different processor types / Windows CE version combinations for the various Windows CE devices available from terminal vendors. And for each of these combinations a separate CFR DLL has to be built. So a CFR built for an Intermec 700 terminal (Intel StrongARM processor, Windows CE 3.0) would not run on an Intermec 600 terminal (AMD X86 processor, Windows CE 2.12) or an Intelligent Instrumentation LanPoint CE terminal (AMD X86 processor, Windows CE 3.0). Therefore if you are using different models of Windows CE device (e.g. Intermec 600 and Intermec 700) you will have to create different CFR executables for each model and have different function groups in the DCConnect User Interface for each model. But if the models you were using all had the same processor / Windows CE version (e.g. Intermec 700 and Symbol 81xx), the same CFR executable could be used for all terminals and all could use the same DCConnect function group (provided the rest of the terminal configuration was the same - except of course the terminal address). There is one other thing to be aware of regarding the toolkit(s) used to build CFRs. CFRs that are to run on a device with Windows CE 3.x or earlier must be built with Version 3.0 of Microsoft's C++ compiler. Most of the supported Windows CE devices fall into this category. But CFRs that are to run on devices with Windows CE .NET (4.x) or higher must be built with Version 4.0 of Microsoft's C++ compiler. Devices that fall into this category include: - Intermec CK30 - Intermec CV60 - Symbol MC90xx We have included with the Client the necessary header files, libraries, make files, project files and workspace files for building CFRs for the various flavors of Windows CE devices listed in Using the DCConnect Client on Windows CE Devices. Make files, project files and workspace files that are intended to be used with Version 3.0 of the Microsoft eMbedded C++ compiler will have 'ce' in the name. For example: - cfrsmpce.vcw - cfrsmpce.vcp - cfrsmpce.vcn - cfrutlce.vcw Make files, project files and workspace files that are intended to be used with Version 4.0 of the Microsoft eMbedded C++ compiler will have '40' in the name instead. For example: - cfrsmp40.vcw - cfrsmp40.vcp - cfrsmp40.vcn - cfrutl40.vcw Regardless of the version of the compiler used, the .DLL or .LIB files have all been set up to have 'ce' in the name. For example: - cfrapice.lib - cfrutlce.lib - cfrsmpce.dll To compile a CFR using the Microsoft eMbedded Visual Toolkit project and workspace files provided, follow the steps below: 1) The installation of version 2.00 and later of the DCConnect Client should copy all of the CFR related product files to your PC and then set up the environment variable CFRTOOLS to point to the CFRTOOLS directory located where the files were installed (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). If this has already been set up then you can skip to step 5 below. Otherwise continue with step 2 in order to copy the necessary files and to set up the CFRTOOLS environment variable. 2) First create a directory into which the CFR files can be copied. If you are using the PC that is running the DCConnect Server, then create the directory: DCCLIENT\CFRTOOLS under the directory where DCConnect is installed (e.g. C:\DCCONN). 3) Copy all files from the CFRTOOLS directory where the Client is installed to the directory you created (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). 4) Using the System icon in the Windows Control Panel folder, set up the environment variable CFRTOOLS to point to the directory that you created (e.g. C:\DCCONN\DCCLIENT\CFRTOOLS). 5) Of all the files that are installed to the %CFRTOOLS% directory, the following files are required for building Windows CE CFRs: cfrapi24.h - Header file included by all CFR source cfrwin32.h - Header file required for Windows CE CFRs (automatically included by cfrapi24.h when building Windows CE CFRs) ck30\cfrapice.lib - CFR API library for Intermec CK30 cv60\cfrapice.lib - CFR API library for Intermec CV60 imec600\cfrapice.lib - CFR API library for Intermec 600 imec700\cfrapice.lib - CFR API library for Intermec 700 and compatible devices such as Symbol PDT81xx, HandHeld Products 7400. imec5020\cfrapice.lib - CFR API library for Intermec 5020 (CE 3.0) imec6651\cfrapice.lib - CFR API library for Intermec 6651 lanptce\cfrapice.lib - CFR API library for Intelligent Instrumentation LanPoint CE sym90xx\cfrapice.lib - CFR API library for Symbol MC 90xx (and MC 91xx) x86emdbg\cfrapice.lib - CFR API library for the Pocket PC Emulation environment These are the header files and CFR API library files needed for building the various flavors of Windows CE CFRs. 6) Before proceding, it is suggested that you create a separate build directory for your own CFR source (it can be, and probably should be, the same directory that is used to build your DOS and 32-bit Windows CFRs). This should be different from the directory that the environment variable CFRTOOLS points to. This example will use C:\MYCFRS for the build directory. 7) One of the files in the %CFRTOOLS% directory is CFRSMP24.ZIP which is the sample CFR package. This package includes Microsoft eMbedded Visual Toolkit (both versions) workspace and project files - as well as the source and makefiles for the sample CFRs. Copy CFRSMP24.ZIP from the %CFRTOOLS% directory to C:\MYCFRS. 8) Then unzip CFRSMP24.ZIP, being sure to specify that subdirectories from the .ZIP file be created (if using pkunzip, specify the -d option). The unzipped files will include the following files that are relevant for building the various Windows CE flavors of the sample CFR: cfrsmp24.c - True source for the CFR (included by cfrsmp32.c) cfrsmp32.c - Wrapper file for CFRSMP24.C that allows us to create CFRSMP32.OBJ cfrsmpce.vcw - Version 3.0 Microsoft EMbedded Visual C++ workspace file cfrsmpce.vcp - " " " " " project file cfrsmpce.vcn - " " " " " generated make file cfrsmp40.vcw - Version 4.0 Microsoft EMbedded Visual C++ workspace file cfrsmp40.vcp - " " " " " project file cfrsmp40.vcn - " " " " " generated make file mycfrs.vcw - Blank workspace file for adding your own CFR projects nmck30.bat - Builds from the command line, the Intermec CK30 sample CFR nmcv60.bat - Builds from the command line, the Intermec CV60 sample CFR nmi600.bat - Builds from the command line, the Intermec 600 sample CFR nmi700.bat - Builds from the command line, the Intermec 700 sample CFR nmi5020.bat - Builds from the command line, the Intermec 5020 sample CFR nmi6651.bat - Builds from the command line, the Intermec 6651 sample CFR nmlptce.bat - Builds from the command line, the Inteligent Instrumentation LanPoint CE sample CFR nms90xx.bat - Builds from the command line, the Symbol MC 90xx (and MC91xx) sample CFR nmx86em.bat - Builds from the command line, the sample CFR that can run in the Pocket PC Emulation environment ck30\cfrsmpce.dll - Sample CFR built for Intermec CK30 cv60\cfrsmpce.dll - Sample CFR built for Intermec CV60 imec600\cfrsmpce.dll - Sample CFR built for Intermec 600 imec700\cfrsmpce.dll - Sample CFR built for Intermec 700 imec5020\cfrsmpce.dll - Sample CFR built for Intermec 5020 (CE 3.0) imec6651\cfrsmpce.dll - Sample CFR built for Intermec 6651 lanptce\cfrsmpce.dll - Sample CFR built for Intelligent Instrumentation LanPoint CE sym90xx\cfrsmpce.dll - Sample CFR built for Symbol MC 90xx (and 91xx) x86emdbg\cfrsmpce.dll - Sample CFR built for the Pocket PC Emulation environment 9) The sample CFR also uses some of the utility routines found in the package CFRUTL24.ZIP. (The contents of this package are already expanded in the %CFRTOOLS% directory). The files associated with this library of utility functions that are used when building Windows CE CFRs are: cfrutl24.h - Header file for utility functions ck30\cfrutlce.lib - CFR utility library for Intermec CK30 cv60\cfrutlce.lib - CFR utility library for Intermec CV60 imec600\cfrutlce.lib - CFR utility library for Intermec 600 imec700\cfrutlce.lib - CFR utility library for Intermec 700 imec5020\cfrutlce.lib - CFR utility library for Intermec 5020 (CE 3.0) imec6651\cfrutlce.lib - CFR utility library for Intermec 6651 lanptce\cfrutlce.lib - CFR utility library for Intelligent Instrumentation LanPoint CE sym90xx\cfrutlce.lib - CFR utility library for Symbol MC 90xx (MC91xx) x86emdbg\cfrutlce.lib - CFR utility library for the Pocket PC Emulation environment The sample CFR source file CFRSMP24.C includes the utility header file CFRUTL24.H. And the appropriate 'flavor' (Intermec 700, Intermec 600, ...) of cfrutlce.lib is linked when building each flavor of the sample CFR. 10) Copy your CFR source (and any include files) into C:\MYCFRS. 11) Now copy the appropriate sample project file CFRSMPCE.VCP (or CFRSMP40.VCP) and give it a name that is appropriate for your CFR (perhaps based on a plant location, a customer, or specific function it performs). This example will use NEWCFR.VCP: copy cfrsmpce.vcp newcfr.vcp Note: If you will need build a CFR that requires version 3.0 of the compiler (e.g. Symbol PDT 81xx) and you also need to build a CFR that requires version 4.0 of the compiler (e.g. Symbol MC 90xx) then you will have to create separate project files for use by each compiler. Furthermore, you will have to create separate workspace files for each compiler. In this case you should name each project and workspace file so that it is clear which compiler it is to be used with. For example: copy cfrsmpce.vcp newcfr30.vcp copy mycfrs.vcw mycfrs30.vcw copy cfrsmp40.vcp newcfr40.vcp copy mycfrs.vcw mycfrs40.vcw The workspace file itself does not contain any specific information that applies to one version of the compiler or another. But each will reference a project file that can only be used with one version of the compiler. 12) Now use Notepad or your favorite editor to make two global changes to newcfr.vcp: - Change all uppercase occurrences of 'CFRSMPCE' (or 'CFRSMP40') to the name that you picked (e.g. 'NEWCFR'). - Change all lowercase occurrences of 'cfrsmpce' (or 'cfrsmp40') to the name that you picked (e.g. 'newcfr'). Now save the project file. 13) One of the files that was part of the CFRSMP24.ZIP that you expanded is MYCFRS.VCW which is a blank workspace file. We will add the new project file to this workspace. You can add as many projects to this workspace as you need. Start the appropriate version of Microsoft eMbedded Visual Toolkit and select the 'Open Workspace' option from the File pull-down. Select mycfrs.vcw from your CFR build directory (e.g. c:\mycfrs). 14) Click mouse button 2 on the Workspace icon in the File View window on the left and select 'Insert Project Into Workspace ...'. On the resulting pop-up, select the .VCP file that you created (e.g. newcfr.vcp). Under the workspace name you will now see the project name (e.g. 'newcfr files') with a plus sign next to it. 15) Click the plus sign to reveal 'Source Files', 'Header Files' ... Then click the plus sign next to 'Source Files'. This will show a single file, cfrsmp32.c, which is the sample CFR source file. Click on this file name to highlight and then press the delete key to delete it. 16) Click mouse button 2 on the 'Source Files' folder and select the option to 'Add Files to Folder...'. This will bring up a dialog box from which you can select one or more source files. Hold down the control key and click all source files that should be added. (If there is only one file to add, you don't need to hold down the Control key). 17) If you have any project specific header files (.h files other than cfrapi24.h, cfrutl24.h, cfrwin32.h) repeat step 14 with the 'Header Files' folder and add those other .h files. 18) If you were creating a project file from scratch you'd have to go into the project settings and set the proper compile and link options, target directories, output file names, ... However, since you start with the sample .VCP file, all of these things are already set up. You will be able to build all the different flavors of CFR that were set up in the project file - provided you have installed the proper SDKs as directed to at the start of this section. The CFR name that is created in all cases is NEWCFR.DLL (or whatever the name of your project is). However each flavor is generated in its own subdirectory. For example, if using version 3.0 of the compiler: imec600\newcfr.dll imec700\newcfr.dll imec5020\newcfr.dll imec6651\newcfr.dll lanptce\newcfr.dll x86emdbg\newcfr.dll or if using version 4.0 of the compiler: ck30\newcfr.dll cv60\newcfr.dll sym90xx\newcfr.dll 19) Each 'flavor' of CFR must be built separately. To select a particular 'flavor' you must first set the Active Platform and then set the Active Configuration for that platform Choose the 'Set Active Platform' option from the 'Build' pull-down menu and select the appropriate platform from the list. For example, if building for the Intermec 700 or Intermec 6651, choose 'Pocket PC' or if building for the Intelligent Instrumentation LanPoint CE choose 'LANpointCE_12'. Then choose the 'Set Active Configuration' option from the 'Build' pull-down menu and select the appropriate configuration from the list. For example: newcfr - Win32 (WCE ARM) Intermec 700 Release newcfr - Win32 (WCE MIPS) Intermec 6651 Release newcfr - Win32 (WCE x86) LanPoint CE Release newcfr - Win32 (WCE ARMV4I) Intermec CK30 Release newcfr - Win32 (WCE ARMV4) Symbol MC90xx Release the choices available to you will only be those that are appropriate for the platform that you selected. Note: The use of 'Intermec 700', 'Intermec 6651', 'LanPoint CE', ... in the configuration name is not what you'd normally see for choices of platform if you created your project from scratch. These were set up in the sample project file using 'Configurations' option from the 'Build' pull-down menu. See below for more information about how to do this. The active platform and active configuration can also be set using the drop-down boxes towards the top of the screen. You should see that the leftmost drop-down box in one row shows the active project (e.g. newcfr). If you move the mouse button over this drop-down box, flyover text should pop-up that says 'Select Active Project'. To the right of this drop-down box is the drop-down box to select the active platform and to the right of that is the drop-down box to select the active configuration. 20) Once you have set the active platform and configuration you can press F7 or choose 'Build newcfr.dll' from the 'Build' pull-down menu to start the compile. The CFR DLL (e.g newcfr.dll) will be created in the appropriate subdirectory based on the active platform and configuration: ... Intermec 600 Release IMEC600 ... Intermec 700 Release IMEC700 ... Intermec 5020 Release IMEC5020 ... Intermec 6651 Release IMEC6651 ... LanPoint CE Release LANPTCE ... Win32 (WCE x86em) Debug X86EMDBG ... Intermec CK30 Release CK30 ... Intermec CV60 Release CV60 ... Intermec Symbol MC90xx Release SYM90XX In most cases your 16-bit CFR source can be recompiled into a DLL without any changes. You may get a number of warning messages during the build that will not cause any problems during run time. The messages are caused by mismatch sizes of primitive types between the 16-bit and 32-bit systems. As an example, 'int' on 16-bit systems is two bytes in size while it is four bytes on 32-bit systems. Building More Than One 'Flavor' of a Windows CE CFR --------------------------------------------------- If you need to build more than one flavor of CFR simply change the active platform and/or configuration as described in the second to last step in the previous section and then build the new flavor of CFR as described in the last step in the previous section. Because the resulting CFR DLL name is the same in all case, just in a different subdirectory, you will need to rename the CFR DLLs before they are copied to the DCConnect Client CFR directory (\DCCONN\CFR) for downloading to the Windows CE devices. You can do this manually when copying the .DLLs to the DCConnect Client directory or you can add 'Post-build' steps to the project to do this automatically every time the CFR is build. Let's assume you are creating CFRs for the following two configurations: Win32 (WCE ARM) Intermec 700 Release Win32 (WCE x86) LanPoint CE Release We will therefore need to come up with unique CFR names for each flavor - to be used in the \DCCONN\CFR directory. For example, we could use the following: CFR700.DLL CFRLPTCE.DLL IMPORTANT NOTE: Long names are not supported by DCConnect for CFRs; you must use 8.3 format names. Here are the steps for modifying the project settings (valid for either version of the toolkit) to copy the compiled CFR DLLs to these names, every time the CFR is built: 1) Once you've opened the MyCfrs workspace, choose 'Settings' from the 'Project' pull-down menu and then click on the last tab at the top called 'Post-build step'. (You may have to use the right arrow button to scroll the tabs). 2) On the left side of the dialog, at the top, is a drop-down box labelled 'Settings For:' which allows you to select a configuration to which the changes should be made. To start select: Win32 (WCE ARM) Intermec 700 Release 3) Then double click on the first blank line under the heading 'Post-build command(s)' on the right side. An entry field will open up that allows you to enter a command. In this entry field, type a command similar to the following, based on your CFR name: copy imec700\newcfr.dll c:\dcconn\cfr\cfr700.dll Then press Enter. 4) Now we must change the settings for the LanPoint CE. So in the 'Settings For:' drop-down box on the left, select the second configuration: Win32 (WCE x86) LanPoint CE Release 5) Then back on the right double click on the first blank line and enter the following command: copy lanptce\newcfr.dll c:\dcconn\cfr\cfrlptce.dll 6) Click OK on the bottom right of the dialog and then choose the 'Save All' option from the 'File' pull-down menu. You should now be able to run the build again following the last two steps in the previous section and the CFR DLLs will be copied to the DCConnect \DCCONN\CFR directory. Note: The DCConnect User Interface only checks for new CFRs when it is started. Therefore if a new CFR is copied into the DCConnect CFR directory while the User Interface is already running, the User Interface must be shut down and restarted in order for that CFR to be available to assign to terminal configurations. (The DCConnect Server does not have to be shutdown for this). Building Windows CE CFRs from the Command Line ---------------------------------------------- You may want to be able to build your CFRs from the command line rather than having to do it manually from the MS eMbedded Visual Toolkit environment. This is especially helpful if you have to build several different flavors of the CFR for different devices. Once you have successfully built your CFR using either version of the MS eMbedded Visual Toolkit, you can generate a Windows CE make file (.VCN). This can then be passed to one of the NM*.BAT files provided in the sample CFR package to build the CFR. To generate the Windows CE make file from the MS eMbedded Visual Toolkit, choose the 'Export Makefile...' option from the 'Project' pull-down menu. This will let you generate make files for any projects in the current workspace. For the 'newcfr' project that we set up, the makefile name that is generated is 'newcfr.vcn'. At the bottom of the window is an option about writing dependencies. It is not necessary to check this box because all of the NM*.BAT files specify the 'rebuild all' option (-a) to ensure that the entire CFR is rebuilt. Because CFRs build very quickly this does not add much overhead and it ensures all updated source is reflected in the executable. Note: The NM*.BAT files that are to be used with the version 3.0 of the eMbedded C++ compiler use the environment variable WCEROOT to determine the root directory where the version 3.0 of Microsoft eMbedded Visual Toolkit is installed. For example: G:\MSEmbedded30. If this toolkit is installed, this environment variable should already be set properly. If it is not defined, then you can define it using the System icon in the Control Panel folder. Since it is possible to install both version 3.0 and version 4.0 of the compiler at the same time. The batch files that are intended to be used with version 4.0 of the compiler (e.g. nmck30.bat, nmcv60.bat and nms90xx.bat) all use the environment variable WCE40ROOT to determine where version 4.0 of the compiler is installed. Those batch files then set WCEROOT to be set to what WCE40ROOT is set to before doing the compiler because both versions of the compiler use WCEROOT. WCE40ROOT is not automatically defined when the version 4.0 of the compiler is installed; you must set this up using the System icon in the Control Panel. From there go to the Advanced tab and choose the Environment Variables button. Once the .VCN file has been generated, from the command line you can use any of the NM*.BAT files against that .VCN file to build the CFR for a particular flavor of CFR. For example, to build the Intermec 700 flavor for the newcfr project that we created above, you would run the following from command line: nmi700 newcfr And to build the LanPoint CE flavor for the same project you would run: nmlptce newcfr If you had to generate different workspace and project files for each version of the compiler, then you will also generate a make file for each version of the compiler. For example: newcfr30.vcn and newcfr40.vcn Then when running the appropriate NM*.BAT file you must pick the make file that goes with it. For example: nmi600 newcfr30 nmi700 newcfr30 nmi5020 newcfr30 nmi6651 newcfr30 nmlptce newcfr30 nmx86em newcfr30 nmck30 newcfr40 nmcv60 newcfr40 nms90xx newcfr40 If you created post-build steps as described in the previous section, then command line make process would not only build the CFR but it would also perform the post-build step and thus would copy the updated CFR to the \DCCONN\CFR directory. Adding Another Configuration to a Windows CE CFR Project -------------------------------------------------------- As was mentioned previously, the sample project includes configurations with names like: newcfr - Win32 (WCE ARM) Intermec 700 Release newcfr - Win32 (WCE MIPS) Intermec 6651 Release newcfr - Win32 (WCE x86) LanPoint CE Release but these names are not names that you would get if you created the project from scratch. In fact each of these names is based on a similar configuration name without the device identifier. The 3 configurations above are based on the following 3 original configurations: newcfr - Win32 (WCE ARM) Release newcfr - Win32 (WCE MIPS) Release newcfr - Win32 (WCE x86) Release which are also part of the 3.0 version of the project. One key difference in the settings for all of these configurations is the directory in which the output files are generated. The first 3 configurations use directory names such as IMEC700, IMEC6651 and LANPTC. The last 3 use names such as ARMREL, MIPSREL and X86REL. If you wanted to create a new configuration for a device such as the Symbol 81xx, you could perform the following steps to do so: Note 1: The Symbol 81xx (and HHP 7400) should be able to use the same CFR as the Intermec 700 because they have the same processor and Windows CE version. But we will use the Symbol 81xx as an example any way. Note 2: These steps apply whether you are using version 3.0 or 4.0 of the toolkit/compiler. 1) First set the active platform (Build -> Set Active Platform...) and active configuration (Build -> Set Active Configuration...) so that they are appropriate for the device. For the Symbol 81xx you choose 'Pocket PC' for the Platform and 'Win32 (WCE ARM) Release' for the Configuration. 2) Then choose (Build -> Configurations...) which will bring up a window that shows the existing configurations and has an 'Add...' pushbutton. 3) Click the 'Add...' puhsbutton. This brings up a new window with 3 fields. The only change you should make is to the last 'Configuration' field which will contain 'Release'. Change that to something that applies to the appropriate device (e.g. 'Symbol 81xx Release') and then click the OK button. Back at the 'Configurations' pop-up you should now see the new configuration name at the end of the list. For example: Win32 (WCE ARM) Symbol 81xx Release 4) Click the 'Close' button and you should now have this new configuration as a choice in the 'Select Active Configuration' pull-down list. 5) You will now need to make changes to the settings for this new configuration. So first make this new configuration the active one and then select 'Settings' from the Project pull-down menu. In the resulting Project Settings window, the selection in the 'Settings For:' drop-down list should show the name of the new configuration. 6) Now you can make changes to the settings on the right side of this window by going to the appropriate tab and making those changes. Here are a few settings you may need to change: - General tab: change the names of the Output Directories. The default will be based on the configuration name you selected. For example: ARMSymbol 81xx Release You'll probably want to simplify it to something like: Sym81xx Make both the 'Intermediate files' and the 'Output files' the same. - C/C++ tab, Category=Preprocessor: the 'Additional include directories' should be set to $(CFRTOOLS). For some reason this is not set even though the configuration that this was copied from did have it set. - Link tab, Category=Input: the 'Additional library path' will need to be set to the directory that contains the appropriate flavor of 'cfrapice.lib' and 'cfrutlce.lib'. The Symbol 81xx, can use the same libraries as the Intermec 700 because they both have the same processor and Windows CE version; therefore this field can be set to: $(CFRTOOLS)\imec700 - Post-build step: Change the post-build command to copy the CFR dll to a name that reflects the device type. 7) When you have made all the changes to the Settings, press the OK button. You should now be able to compile the CFR for this new configuration. 8) If you are doing command line compiling, then regenerate the makefile as described in the section Building Windows CE CFRs from the Command Line. 9) Next you will need to create a new NM*.BAT for the new configuration. We'll create NMS81XX.BAT for the new Symbol 81xx configuration that we added. First copy nmi700.bat (or whatever NM*.BAT file is most appropriate) to nms81xx.bat. 10) If the processor and Windows CE version in the file are not appropriate for the target device you may need to change the following lines: set OSVERSION=WCE300 set PLATFORM=ms pocket pc call %WCEROOT%\evc\wce300\bin\wcearm.bat The OSVERSION is set to the Windows CE version (WCE211, WCE212, WCE300, ...). This is actually used to determine the proper directory name under the root directory for the SDKs (defined by the environment variable SDKROOT. It defaults to C:\Windows CE Tools). For example, if OSVERSION is WCE300, then the directory that assumes is C:\Windows CE Tools\WCE300 (g:\wincetools\wce300 on our test system). The PLATFORM will be set to one of the subdirectories under the one specified by OSVERSION. For example, on our test system, the directories 'MS Pocket PC' and 'LANPointCE_12' are under g:\wincetools\wce300. The third line calls a batch file that adjusts the PATH, INCLUDE, LIB and other environment variables so that the proper files for the CE version and processor are accessible to the compiler. Between '\evc\' and '\bin\' will be the same value that OSVERSION is set to (wce300, wce212, ...). After '\bin\' is the name of a batch file that is based on the processor type. This could be one of the following: wcearm.bat - Intel Strong ARM processor wcemips.bat - Toshiba MIPCS processor wcemips16.bat wcemipsfp.bat wceppc.bat wcesh3.bat - Hitachi SH3 processor wcesh4.bat wcethumb.bat wcex86.bat - AMD X86 processor x86em.bat - MS Pocket PC Emulator (using X86 processor) Version 4.0 of the compiler includes these additional possibilities: wcearmv4i.bat wcearmv4t.bat wceemulator.bat wcemipsii.bat wcemipsii_fp.bat wcemipsiv.bat wcemipsiv_fp.bat 11) You will need to change the call to 'nmake' in several places. In 'nmi700.bat' this line looks like: nmake -a -f %1.vcn CEflavor=300 CESubsystem="windowsce,3.0" CFG="%1 - Win32 (WCE ARM) Intermec 700 Release" > outi700 One way to determine the proper value for CEVersion and CESubsystem is to use the 'Pre-link step' or 'Post-build step' tab of the Project settings to call the following commands: echo %CEVersion% echo %CESubsystem% Make sure you have the proper configuration selected before setting up these commands. Then choose the 'Rebuild All' option from the 'Build' pull-down menu. If you look in the compile results window at the bottom, right above the line that says: Linking... You'll see the actual values for CEVersion and CESubsystem. For example: 300 windowsce,3.00 Linking... And to get the value for CFG look at the top of the compile output window for the title line that looks similar to: -----Configuration: newcfr - Win32 (WCE ARM) Symbol 81xx Release ------ The CFG value is everything from 'newcfr' up to and including 'Release'. But when you put this into the new NM*.BAT, change the first word (the project name - e.g. newcfr) to %1 because this is a parameter that is pased to the NM*.BAT file. So for our NMS81XX.BAT file, this new line will be: nmake -a -f %1.vcn CEVersion=300 CESubsystem="windowsce,3.0" CFG="%1 - Win32 (WCE ARM) Symbol 81xx Release" > outs81xx The CEVersion and CESubsystem did not actually change for this case. But at the very end, after the > sign, we did change 'outi700' to 'outs81xx' so that the output of the compile is written to a file that goes with nms81xx.bat. 12) The last line that needs to be changed is the one after the call to nmake which is similar to: if '%2'=='' call notepad outi700 Here we just have to change the 'outi700' at the end to 'outs81xx' just like we did in the previous step. 13) Now nms81xx.bat is set up to compile from the command line, any CFR that will work with the Symbol 81xx terminal. Just pass in the project name. For example: nms81xx newcfr If you create other CFR projects in the future which contain a configuration called "Win32 (WCE ARM) Symbol 81xx Release" and generate make files for them (*.VCN) then nms81xx can be used to compile those CFR projects from the command line as well. Setting Up a CE Device from Scratch ----------------------------------- This section gives a high level overview of the steps to take to set up a Windows CE device. However, because there are differences in each device, even for those devices from the same manufacturer, you will need to consult the documentation that comes with the devices to get detailed information about the following kinds of issues: - What hardware is needed to be able to transfer the DCConnect Client files to the device? Possiblities include: - Serial cable to a dock - Serial cable directly to a 9-pin serial port on the device - Serial cable to an optical couple that attaches to the device - Infrared - Ethernet cable to a dock - No extra hardware; device is loaded via radio once communication parameters are set up - Removable compact flash card that can be put into a PCMCIA adapter and loaded from a laptop. - What software is used to load the terminal once the necessary hardware connection is in place? Possiblities include: - Proprietary transfer software provided by the manufacturer. - Web browser accessing a web server program on the device - No extra software - if a PCMCIA adapter is being used - Device uses FTP to download files from an FTP server - Microsoft ActiveSync over serial, infrared, ethernet or radio. This has been available as a free download from the Microsoft website: http://www.microsoft.com As of June 2004, the latest version of ActiveSync is 3.7.1 - How can the device be configured? Possibilities include: - Utility that is provided by the manufacturer and is preloaded on the device - Web browser accessing a web server program on the device - If the configuration is maintained in the Windows CE registry, then the IBM CE Config Tool can be used to update the registry. Determining which registry keys need to be set may take some time; but if a large number of devices need to be configured this may be a faster, more reliable method. In addition, the configuration can automatically be completely restored in the event of a cold-boot or total loss of battery power. For more information about the IBM CE Config Tool, see IBM CE Configuration Tool. Settings that may need to be configured include: - Radio parameters (e.g. 802.11 network name, AP density) - Network parameters (e.g. IP address, subnet mask, gateway) - Run in 'wedge' mode (feeds scanner input through keyboard) - Bar code preamble and postamble - Active bar code symbologies and their settings - Volume setting - Backlight duration Once you understand the hardware and software required and the configuration method, you are ready to begin the process to set up your files and load them to the device. Here are the high-level steps in that process: Note: It may be required that you install the Microsoft eMbedded Visual Toolkit in order to create or locate all of the files that are needed in the terminal. If you need to do any of the following, you will need to install the toolkit: - Build a customer ETSUSER.DLL (step 6 below) - Use the IBM CE Config Tool (step 7 below) - Use the Cab Wizard to create a .CAB file (step 8) - Build a CFR for use on the Windows CE device For more information about obtaining this toolkit see Hardware and Software Requirements for Windows CE Devices 1) You'll probably want to create a separate load directory (folder) that contains all of the files that you need to load the terminal. We'll use C:\CEFILES. So create that load directory and make it the current directory. For example: c: md cefiles cd cefiles 2) Copy into your load directory the license file from the root directory where the DCConnect Client is installed: ETSCHECK.LIC 3) Now you will need to copy the product executables: ETSPT.EXE ETSPT.DLL but you must decide which ones are appropriate. Where the DCConnect Client product files are installed you'll find the following subdirectories that contain different flavors of the Windows CE executables: ARMNOPPC - Devices with StrongARM processor or compatible and Windows CE 3.0 or compatible later version but which are not Pocket PC devices IMEC600 - Intermec 600 terminal IMEC700 - Intermec 700 terminal IMEC5020 - Intermec 5020 terminal IMEC6651 - Intermec 6651 terminal LANPTCE - Intelligent Instrumentation LanPoint CE X86EMDBG - Pocket PC Emulator on Windows choose the appropriate subdirectory and copy the ETSPT.DLL and ETSPT.EXE executables from that subdirectory. If you are using a Windows CE device other than the ones indicated by each directory name, you may still be able to use the executables from one of the above subdirectories as long as your device has the same processor and Windows CE version as one of these directories: IMEC600 - Windows CE 2.12, X86 processor (AMD) IMEC700 - Windows CE 3.0, Strong ARM 1110 processor (Intel), Pocket PC IMEC5020 - Windows CE 3.0, SH3 processor (Hitachi) IMEC6651 - Windows CE 3.0, MIPS processor (Toshiba) LANPTCE - Windows CE 3.0, X86 processor (AMD) X86EMDBG - Used only with Pocket PC Emulator on Windows For example, if you have a Symbol 81xx terminal or an HHP "Dolphin" 7400, both of which are Pocket PC devices which run Windows CE 3.0 on an Intel Strong ARM 1110 processor, then these terminals can use the executables in the IMEC700 directory because the Intermec 700 runs the same version of Windows CE on the same processor. Note: Devices such as the Symbol PPT 88xx or the MA 1000 from Group Mobile which have StrongARM or compatible (XScale) processors and Windows CE 3.0 or later compatible but which are not Pocket PC devices, must use the flavors of ETSPT.EXE and ETSPT.DLL in the .\ARMNOPPC subdirectory instead of the ones in the .\IMEC700 because the latter requires a .DLL (AYGSHELL.DLL) that is only available on Pocket PC devices. 4) Two other product files should also be copied from the root directory where the Client is installed to your load directory: LOGFILE.LOG LOGFILE.NDX These are default (empty) files for the transaction logfile on the terminal. These are included so that an uninstall of the Client .CAB file on the device removes these files. The Client will create these files if they do not exist. However, the .CAB file uninstall will not remove these files unless they were part of the original .CAB file. Note: The .CAB file is set up so that a reinstall will not overwrite these files if they already exist. 5) Now it is time to set up EMULATOR.INI with whatever parameters are needed. For information about what parameters can be set in this file, see Configuration using EMULATOR.INI. You will probably want many of the following parameters (see the link above for an explanation of each): MAX_TRANSACTIONS = 10 NUM_PF_STRINGS = 0 NUM_TOUCH_STRINGS = 0 NUM_ROWS = 16 NUM_COLS = 20 PF_MAPPING = Y TCPIP_PORT = 7500 TCPIP_HOST = 99.99.99.70 SELECT_FONT = Lucida Console SCAN_SENTINEL_CHARS = 123, 125 FULL_SCREEN = Y MENU_PASSWORD = ABC MENU_ITEM = ... The first 6 are pretty standard, although you may need to adjust the MAX_TRANSACTIONS or the number of rows/columns. TCPIP_PORT usually does not need to be changed from 7500 unless the Client is running in the Pocket PC Emulator on the same machine as the DCConnect Server. Be sure to set the TCPIP_HOST to the IP address of the DCConnect Server. Use the SELECT_FONT keyword if you will be loading a special font file to the terminal. For more about this see Changing the Font Used By the Client on a Windows CE Device. Note: If using the SELECT_FONT keyword, you will not need to copy the actual font file (*.TTF) to your load directory - although you can certainly do so if you wish. The .INF file used to create the .CAB file can be directed to find the .TTF file where it resides on your system. If you use the SCAN_SENTINEL_CHARS keyword, be sure your device will be configured to use the preamble and postamble characters that you specify with this keyword. Use FULL_SCREEN = Y if the device is a 'Pocket PC' device and you want the Client to run without the user being able to get to other applications. Be sure to include ETSUSER.DLL in your .CAB file if using this keyword. Use the MENU_PASSWORD keyword if you want to prevent the user from getting to most of the menu options. User MENU_ITEM if you want to add one or more custom functions to the Client menus. Be sure to include ETSUSER.DLL in your .CAB file if using this keyword. 6) If you included the FULL_SCREEN or MENU_ITEM keywords in EMULATOR.INI in the previous step, then you will also need to create ETSUSER.DLL in your load directory so that it can be included in your .CAB file. For more information about how to build ETSUSER.DLL please see Keyword: FULL_SCREEN and Keyword: MENU_ITEM. In the root directory where the DCConnect Client product files are installed you can find the following files used to build ETSUSER.DLL: ETSUSER.* NM*.BAT You can modify the source and build ETSUSER.DLL directly where the DCConnect Client files were installed or you can copy the above files to your load directory and make your changes there. Wherever you decide to make your changes, the resulting ETSUSER.DLL will be created in a subdirectory with one of the following names, based on the platform and configuration you selected (or which NM*.BAT file you ran): IMEC600 IMEC700 IMEC5020 IMEC6651 LANPTCE X86EMDBG So be sure that when you later set up your .INF file that is used to bulid your .CAB file, you specify the appropriate subdirectory so that the Cab Wizard can find the ETSUSER.DLL that you built. Take a look at the sample DCCLIENT.INF file (in the root directory where the DCConnect Client product files are installed) and note how ETSUSER.DLL uses directory identifier 3 which specifies one of the subdirectories listed above, depending on the device in use. 7) If you will be configuring the device by updating its registry using the IBM CE Config Tool, then be sure to copy to your load directory from the directory containing the Client product files: CECONFIG.VB You will also need to create a CECONFIG.INI that specifies which registry keys updates and other operations should be performed by this tool. For more information about the IBM CE Config Tool see IBM CE Configuration Tool. A sample CECONFIG.INI is provided in the same directory where CECONFIG.VB is found. Note: You can use the CE Config tool to create the EMULATOR.INI file that was described in step 5 above. But you should only need to do so if one or more parameters (such as TCPIP_HOST) is not going to have the same value for all of your terminals. Even in this case, you should still create an EMULATOR.INI file and include it in your .CAB file. Otherwise an uninstall of the Client .CAB file on the device will not remove EMULATOR.INI. Use of the CE Config Tool requires that some Visual Basic DLLs be obtained from the Microsoft eMbedded Visual Toolkit. You do not need to copy those .DLLs to the load directory, but when you set up the .INF file for building the .CAB file in the next step, you will need to specify where those DLLs should be found. 8) All of your files should now be in place. If you wanted to, you could copy the files individually to the device and put them in their appropriate directories. However, this would be very time consuming and error prone if there are a lot of devices to set up. Instead, it is best to create a cabinet (.CAB) file that contains all of the appropriate files and can easily be transported to the target device and stored in non-volatile storage in case the need to reinstall arises. .CAB files are created using the Cab Wizard tool that is part of the Microsoft eMbedded Visual Toolkit. You must create a .INF file to tell the Cab Wizard what files should be installed, where they should be copied and what short cuts and registry updates should be made. For more about creating .CAB files, see Building a .CAB File to Install the Client on a Windows CE Device. 9) Once you have created the .CAB file, you should transfer the .CAB file to non-volatile storage on the target device using the required hardware and software specified by the device manufacturer. Consult the documentation provided with the device for information about what hardware and software options are available for transferring files from the PC to the device. 10) Once the .CAB file has been installed to the device, you can use the Windows CE File Explorer (Start -> Programs -> File Explorer) to locate the .CAB file and then double click on it to install it. On some devices (e.g. Intermec 5020) a web- based tool is used to install the application using a browser on the PC. On other devices if the .CAB file is found in a certain directory, rebooting the terminal will automatically cause the .CAB file to be installed. For example, on the Intermec 700, any .CAB file found in the \Storage Card\CABFILES directory will be installed automatically when the terminal is rebooted. 11) Once the .CAB file is installed, all of the files are in place and the Client could actually be started. However, there are a couple of situations that might require other steps to be done first. Note: If the terminal was rebooted to have the .CAB file installed and other .CAB files were installed at the same time then the installation of one of the other .CAB files might actually cause the terminal to reboot. In this case, if the Client was configured to be in the Startup folder, then it will start automatically. If the IBM CE Config Tool is supposed to be run, then you will need to exit the Client so that the CE Config tool can be run. Here are some other steps that might need to be performed before the Client can be used: - If the IBM CE Config Tool has been installed and needs to be run to set up the registry and/or files, then it should be run by selecting the CE Config Tool from the Start Menu. The terminal should be rebooted after these changes are made. - If a font file has been installed, the terminal must be rebooted so that Windows CE can load the new font file when Windows CE restarts. Note: If you installed both the font file and are running the IBM CE Config Tool, then the reboot that must be done after the CE Config Tool is run will also take care of having Windows CE load the new font file. 12) Once the IBM CE Config Tool has been run and the terminal has been rebooted, the Client should be ready to run. If a short cut for the Client is installed in the Startup folder, then the Client was started automatically when Windows CE was restarted. Otherwise, you can start the Client by selecting DCConnect Client from the Start menu. Note: If the Client is already running and you try to start it again from the Start menu, the original running copy of the Client will be brought to the foreground instead of a second copy of the Client starting up. Terminal-Specific Issues for the Intermec 600 Terminal ------------------------------------------------------ The following sections below cover various topics for the Intermec 600: - Intermec 600 Hardware and Software Requirements - How to Configure the Intermec 600 - Intermec 600 Bar Code Configuration - Rebooting the Intermec 600 - Intermec 600 Keyboard / Stylus Notes - Intermec 600 Screen Notes - Notes About Building Intermec 600 .CAB File - Loading and Installing the Intermec 600 .CAB File Please refer also to the Intermec 600 documentation: 600 Series Industrial Mobile Computer User's Guide Windows 95 and Windows CE Configuration Utilities Reference Manual both of which are available from Intermec's website: http://www.intermec.com Follow the links to 'Support' -> 'Manuals' -> 'Computers' -> 'Pen Notepad/Tablets' and then choose the 600 or 601 terminal. Intermec 600 Hardware and Software Requirements ----------------------------------------------- The Intermec 600 does not have the ability to install a radio card. Instead the 600 must be put into its dock so that it can communicate to another PC. This can be done via the serial port or via the 10-base T ethernet port that are built into the dock. The Intermec 600 is an older Windows CE device and as such it comes loaded with Windows 2.12 instead of version 3.0 that most other devices have today. As a result, different executables must be created and loaded to the Intermec 600 and LanPoint CE terminal even though both have AMD 486 processors. The Intermec 600 has an internal non-volatile flash card that is given the directory name \Storage_Card (note the use of the underscore here where a space is used for other devices). The 600 also has the option to use a removable non-volatile flash card. This removable card is given the directory name \ATACard. When rebooting the terminal the removable card should be out of the terminal or the terminal will try to boot from the removable card. How to Configure the Intermec 600 --------------------------------- Configuration of the Intermec 600 is done using the Control Panel (Start -> Settings -> Control Panel) and Intermec Configuration Utility (Start -> Programs -> Configuration Utility) that are preloaded on the terminal. Although the Configuration Utility has a 'Communications' button which takes you to a screen where you can set IP address, subnet and gateway, you actually have to use the Network icon in the Control Panel to set these up. Once the network parameters are set up, you must start the network drivers by running Start -> Programs -> NDIS Loader and choosing the 'Load' button. In order for these drivers to remain running, the 'ndisport' window must remain up. So do not click the OK button. Intermec 600 Bar Code Configuration ----------------------------------- The Intermec 600 documentation does not mention anything about configuring bar codes, setting up preamble or postamble characters or setting up a 'wedge' mode so that scanned bar codes are routed to the keyboard. Rebooting the Intermec 600 -------------------------- The Intermec 600 can be rebooted by pressing and holding the following 3 keys: [Gold] [Esc] [0] for 3 seconds. The Intermec 600 preserves all registry settings to non-volatile storage, so a reboot will not destroy them. However, the set of files that is loaded on the terminal will revert back to the factory default - except for those files that are in non-volatile storage (in the \AtaCard and \Storage_Card directories). This means that a reboot will delete the short cut for starting the Client and it will delete any font file installed to the \Windows\fonts directory. Although you could go to the \Storage_Card\DCConnect Client directory and run etspt.exe to start the Client, you should reinstall the DCConnect Client .CAB file after a reboot so that the shortcut can be recreated and any font file can be reinstalled. 600 Keyboard / Stylus Notes --------------------------- While the Intermec 600 has a physical keyboard unless you are entering numbers, the period or pressing Enter, you will need to use the software input panel (SIP) to enter alphabetic and other characters. The SIP is enabled by running Start -> Programs -> SIP Enable. The SIP shows up as a window that you can move around. The SIP also shows up in the task bar at the bottom of the screen. Tapping twice slowly! on this task bar icon causes the SIP to be mimimized. Tap again and the SIP is restored. Use Start -> Programs -> SIP Disable to close the SIP. Note: If you find that when you tap a menu item that leads to another menu, the menu item from the sub-menu is actually invoked, then try tapping the first item on the side that would not overlap the submenu. For example, when the Start menu is up and you tap the right side of the 'Programs' item in the Start Menu, then you may find that 'Communications' or 'Command Prompt' from the Programs menu is automatically invoked. To avoid this, tap the left side of the 'Programs' menu. To power the terminal on or off using the the I/O button you must hold the button down for 3 seconds whether turning the terminal on or off. Although the Intermec 600 keyboard shows letters on the actual keys, there is no way to generate these letters with the way the terminal is shipped. You must use the SIP keyboard to generate letters. Intermec 600 Screen Notes ------------------------- The Intermec 600 has a 1/4 VGA screen for which the screen dimensions 16x20 fit very nicely. That is why the statements: NUM_ROWS = 16 NUM_COLS = 20 are included in the sample EMULATOR.INI - found in the IMEC600\SAMPLE directory where the Client product files are installed. You can actually set the screen dimensions to any combination of values up to 20 rows and 40 columns and the Client adjusts the font accordingly. For most cases there is not a font available which allows the Client screen to perfectly fit in the width and height available and as a result you will generally see a small border around the actual text area. Of course the more rows and columns that you try to fit on the screen the smaller the font has to be and as a result the characters may become too small for practical use. You also have the option to change which font is being used, as long as you select a non-proportional font. For more info, see Changing the Font Used By the Client on a Windows CE Device. Notes About Building the Intermec 600 .CAB Files ------------------------------------------------ A sample .INF file for building the .CAB for Intermec 600 terminals is found in the DCConnect Client product files in IMEC600\SAMPLE\IMEC600.INF. Here are some notes about the contents of that file: - In the [CEStrings] section the InstallDir is set to "\Storage_Card\%AppName%" instead of the more common "\Storage Card\%AppName%". Note the use of the underscore instead of the space between 'Storage' and 'Card'. - This is not a difference in the .CAB file but rather in what happens on the terminal: the %CE17% identifier actually indicates the Start -> Favorites folder for Windows CE 2.12 (which is what the Intermec 600 comes with) instead of being directly on the Start menu as it is for Windows CE 3.0. This affects where the DCConnect Client shortcut is created [Shortcuts.All] section. - In the section [RegSettings.All] you will see that %InstallDir% is not used in the last parameter. On the Intermec 600 this is not converted to its true value (e.g. \Storage_Card\DCConnect Client) and is instead put in the registry as is (%InstallDir%). Therefore the .CAB file must use the value of %InstallDir% explicitly in this section rather than using %InstallDir%. Loading and Installing the Intermec 600 .CAB File ------------------------------------------------- You will need to load the DCConnect Client .CAB file for the Intermec 600 by removing the removable compact flash card from the terminal and using a PCMCIA adapter to copy the .CAB file from your PC to the compact flash card. The terminal does not have to be turned off to remove or insert the removable flash card. Unless the terminal booted from the removable flash card, it will have the directory name \AtaCard. Use the My Computer icon on the Windows desktop or Start -> Programs -> Windows Explorer to locate the .CAB file on the \AtaCard and double click on it to install. When the install completes, you should have a 'DCConnect Client' entry in your Start -> Favorites folder. Unlike other Windows CE devices, you should NOT reboot the Intermec 600 after the .CAB file is installed. Apparently any font file that is installed is immediately registered with Windows CE and all registry settings are preserved to non-volatile storage. For more information about what happens during a reboot, see Rebooting the Intermec 600. Terminal-Specific Issues for the Intermec 700 Terminal ------------------------------------------------------ The following sections below cover various topics for the Intermec 700: - Intermec 700 Hardware and Software Requirements - How to Configure the Intermec 700 - Intermec 700 Bar Code Configuration - Rebooting the Intermec 700 - Intermec 700 Keyboard Notes - Intermec 700 Screen Notes - Notes About Building the Intermec 700 .CAB File - Loading and Installing the Intermec 700 .CAB File Intermec 700 Hardware and Software Requirements ----------------------------------------------- The Intermec 700 comes with non-volatile storage that is given the directory name \Storage Card. This is where the DCConnect Client files should be installed so that transactions are written to non-volatile storage. In order for the Intermec 700 to provide networking and scanning capabilities, several .CAB files must be installed in addition to the DCConnect Client .CAB file. These are the names of those files that were used with the Pocket PC (not PPC 2002) load, version 1.12: netpack.cab itcdevmgmt.cab itcdatacollection.cab itcstingraysdk.cab All of these should be installed to the \Storage Card\CABFILES directory - which is the same place that the DCConnect Client .CAB file should be installed. If not already on the terminal, these must be obtained from the Intermec 700 Windows CE Developer's Kit CD. Note: In earlier versions of the CDK, the itcdevmgmt.cab and itcdatacollection.cab were combined into one .CAB file. Before loading any .CAB file to the terminal, make sure the read-only attribute for that .CAB file is set where the file resides on the PC. This is the only way to force the .CAB file to have its read-only attribute set after the file is copied to the terminal. If the .CAB file does not have its read-only attribute set on the terminal, then the .CAB file is deleted automatically after it is installed. How to Configure the Intermec 700 --------------------------------- On the Intermec 700, you can use the Settings option from the Start Menu to manually configure device Settings options such as those for Data Collection and for Wireless Network (on the System tab) and for Network (on the Connections tab). The Intermec 700 settings are maintained in the registry, therefore you can use the IBM CE Config Tool to set these values rather than manually setting up every terminal. For more information about this tool please see IBM CE Configuration Tool. Following is a list of the registry keys and values that map to the various configuration options. For each, the first line describes the option on the currently specified tab that allows this registry key to be set via the settings menus. The second line shows the registry key followed by a comma and the registry value name. In parenthesis is the type for the registry value. Personal Tab ------------ Owner Information (Name, Company, Address, Telephone, E-mail) HKEY_CURRENT_USER\ControlPanel\Owner, Owner (REG_BINARY) // See default CECONFIG.INI for example of how to define the parts Sounds & Reminders (System Volume) HKEY_CURRENT_USER\ControlPanel\Volume, Volume (REG_DWORD) // The 6 possible levels correlate to the following values: // 0, 858993459, 1717986918, 2576980377, 3435973836, 4294967295 Today (Display Today screen if device is not used ... for ?? hours HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai, SessionTimeout (REG_DWORD) // Set to 0 to disable switching to Today screen System Tab ---------- About, Device ID Tab (Device name) HKEY_LOCAL_MACHINE\Ident, Name (REG_SZ) // This is the Partnership name Data Collection, Symbologies tab, Code 39 enabled with default settings: HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\DevConfig\Code39, Decoding (REG_BINARY) // Set to 2-byte binary value 41 4c to enable; set to 41 4d to disable Data Collection, Symbologies tab, Code 39 enabled with default settings: HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\DevConfig\Code128, Decoding (REG_BINARY) // Set to 2-byte binary value 41 5a to enable; set to 41 5b to disable Data Collection, Virtual Wedge tab, Enable: HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\VirtualWedge, EnableStatus (REG_DWORD) // Set to 1 to enable Data Collection, Virtual Wedge tab, Preamble: HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\VirtualWedge, Preamble (REG_SZ) Data Collection, Virtual Wedge tab, Postamble: HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\ADCDevices\S9C\VirtualWedge, Postamble (REG_SZ) Wireless Network, Edit Profile, Basic tab (Network Name) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, DesiredSSID (REG_SZ) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, DesiredSSID (REG_SZ) // Both registry keys must be set Wireless Network, Edit Profile, Encryption tab (Enable Data Security, ...) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, Encryption (REG_SZ) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, Encryption (REG_SZ) // Both registry keys must be set. All options on this tab result in a single // (very long) string that is set for this registry key. Wireless Network, Edit Profile, Advanced tab (Card Power Management) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, PMEnabled (REG_DWORD) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, PMEnabled (REG_DWORD) // Both registry keys must be set. 0 = Disable, 1 = Enable Wireless Network, Edit Profile, Advanced tab (Interface Robustness) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, MicroWaveRobustness (REG_DWORD) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, MicroWaveRobustness (REG_DWORD) // Both registry keys must be set. 0 = Disable, 1 = Enable Wireless Network, Edit Profile, Advanced tab (RTS/CTS Medium Reservation) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, RTSThreshold (REG_DWORD) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, RTSThreshold (REG_DWORD) // Both registry keys must be set. 500 = On, 2347 = Off Wireless Network, Edit Profile, Admin tab (Distance Between Access Points) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms, SystemScale (REG_DWORD) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Config01, SystemScale (REG_DWORD) // Both registry keys must be set. 1=Large, 2=Medium, 3=Small Connections Tab --------------- Network, Adapters Tab, Orinoco ... Driver, IP address tab (Use specific IP address) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, EnableDHCP (REG_DWORD) // Set to 0 to use specific IP address; set to 1 to Enable DHCP Network, Adapters Tab, Orinoco ... Driver, IP address tab (IP Address) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, IpAddress (REG_MULTI_SZ) Network, Adapters Tab, Orinoco ... Driver, IP address tab (Subnet mask) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, Subnetmask (REG_MULTI_SZ) Network, Adapters Tab, Orinoco ... Driver, IP address tab (Default gateway) HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, DefaultGateway (REG_MULTI_SZ) Network, Adapters Tab, Orinoco ... Driver, Name Servers tab (DNS): HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, DNS (REG_MULTI_SZ) Network, Adapters Tab, Orinoco ... Driver, Name Servers tab (WINS): HKEY_LOCAL_MACHINE\Comm\WLLUC461\Parms\Tcpip, WINS (REG_MULTI_SZ) Not On Any Tab (these can't be set from the Settings screens) ------------------------------------------------------------- Enable Backlight on Tap HKEY_CURRENT_USER\ControlPanel\Backlight, BacklightOnTap (REG_DWORD) // Set to 1 to enable turning on the backlight whenever screen is tapped Intermec 700 Bar Code Configuration ----------------------------------- In order for the Intermec 700 to support scanning and the ability to configure the bar code symbologies in use, the following .CAB file must be loaded to the terminal: itcdatacollection.cab For information about how to obtain and install this and other required .CAB files please refer to the section above Intermec 700 Hardware and Software Requirements. When the above .CAB file has been installed, there will be an icon called 'Data Collection' on the System tab of the Start -> Settings option. This is used to enable 'Wedge mode', set the preamble and postamble characters and to select which bar code symbologies are active and adjust any settings for each. Because the Intermec 700 maintains the bar code settings in the Windows CE registry, you can use the IBM CE Config Tool to configure all the bar code related settings rather than having to do this manually for every terminal that must be set up. To find out which registry keys applies to the various bar code options, please refer to the previous section. The 'Virtual Wedge' setting must be enabled in order for the Client to be able to In order for the DCConnect Client to be able to distinguish between keyboard and scanner input, you should set up a preamble and postamble character (e.g. { and } ) and then be sure to tell the DCConnect Client which characters were used by including the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI. For example: SCAN_SENTINEL_CHARS = 123, 125 For more information about this keyword, please refer to Keyword: SCAN_SENTINEL_CHARS. Rebooting the Intermec 700 -------------------------- To warm-boot the Intermec 700, turn the terminal on and then press and hold the I/O button until you see the screen go blank, signifying the start of the reboot process. You need to hold the I/O button for 10-15 seconds before it reboots. Warm booting the terminal simply restarts Windows CE; all files and registry settings remain intact. To cold-boot the Intermec 700, you must remove the battery and press the small button that is right of center inside the battery compartment. When you replace the battery and turn the terminal back on, the terminal will go through its cold-boot process and reload the default set of files; all non-default files that were not on the storage card and all registry settings are removed as a result of the cold-boot process. But if your .CAB files were set up with the read-only attribute and they still reside in the \Storage Card\CABFILES directory, they will automatically be restored. And if you used the IBM CE Config Tool to configure the terminal, you should be able to rerun that tool and restore the configuration. Intermec 700 Keyboard Notes --------------------------- The Intermec 700 keyboard gives you the capability to enter numeric and alphabetic characters along with a few selected characters such as * / . + and -. Just pressing one of the keys with a number on it will generate the number shown. To get alphabetic keys you must first press the blue 'Alpha' key on the bottom row and then press the appropriate number key 1, 2, 3 or 4 times to generate the letter. When you press the blue key, the red LED that is marked with a check mark, lights up to indicate you are in alphabetic mode. To get an A in alphabetic mode, press the 2 key once. To get a B in alphabetic mode, press the 2 key twice quickly. To get a C in alphabetic mode, press the 2 key three times quickly. To get a Z in alphabetic mode, press the 9 key 4 times quickly. The terminal remains in alphabetic mode until you press the Alpha key again. The circular grey multi-arrow key in the middle of the top row is used to generate the arrow keys and tab keys. Without any shift, up and down result in the up and down arrow keys and left and right result in the backtab and tab keys. To get left and right arrow keys, you must first press the orange function (in the bottom left corner) and then press the left or right side of the circular grey key. In addition to the physical keyboard, the Windows CE Pocket PC environment also supports a software keyboard that you use your stylus with to type the appropriate keys. When the software keyboard is available to an application, you'll see a little keyboard symbol in the bottom right corner of the screen. Just tap this symbol and the software keyboard will pop up at the bottom of the screen. When the DCConnect Client is running in full-screen mode, the keyboard symbol is not available. Instead the toolbar of the DCConnect Client contains an icon marked A-Z. This icon is used to show and hide the software keyboard. Intermec 700 Screen Notes ------------------------- The Intermec 700 has a 1/4 VGA screen for which the screen dimensions 16x20 fit very nicely. That is why the statements: NUM_ROWS = 16 NUM_COLS = 20 are included in the sample EMULATOR.INI - found in the IMEC700\SAMPLE directory where the Client product files are installed. You can actually set the screen dimensions to any combination of values up to 20 rows and 40 columns and the Client adjusts the font accordingly. For most cases there is not a font available which allows the Client screen to perfectly fit in the width and height available and as a result you will generally see a small border around the actual text area. Of course the more rows and columns that you try to fit on the screen the smaller the font has to be and as a result the characters may become too small for practical use. You also have the option to change which font is being used, as long as you select a non-proportional font. For more info, see Changing the Font Used By the Client on a Windows CE Device. The Intermec 700 can be configured to turn on the backlight any time the screen is tapped by the stylus. However this option is not available on any of the Settings screens on the terminal; this option must be changed in the registry and that can be done using the IBM CE Config Tool. To find out which registry key must be updated, please see How to Configure the Intermec 700. Because the Intermec 700 is a Pocket PC device, the Client can be set up to run in "full-screen" mode - which means while the Client is running the terminal user cannot get to any other application on the device. This is done using the following keyword in EMULATOR.INI: FULL_SCREEN = Y and including ETSUSER.DLL in the DCConnect Client .CAB file. For more information about full-screen mode, please see Keyword: FULL_SCREEN. Notes About Building the Intermec 700 .CAB Files ------------------------------------------------ A sample .INF file for building the .CAB for Intermec 700 terminals is found in the DCConnect Client product files in IMEC700\SAMPLE\IMEC700.INF. Here are some notes about the contents of that file: - Full screen mode is set up by default by including ETSUSER.DLL and by including an EMULATOR.INI that contains the statement FULL_SCREEN=Y. - There are commented out references to files and shortcuts for the IBM CE Config tool. Loading and Installing the Intermec 700 .CAB File ------------------------------------------------- Whether you use Microsoft's ActiveSync or you copy files directly to the compact flash card, be sure to copy the DCConnect Client .CAB file to the \Storage Card\CABFILES directory so that it is automatically installed after a reboot. Before loading any .CAB file to the terminal, make sure the read-only attribute for that .CAB file is set where the file resides on the PC. This is the only way to force the .CAB file to have its read-only attribute set after the file is copied to the terminal. If the .CAB file does not have its read-only attribute set on the terminal, then the .CAB file is deleted automatically after it is installed. After the .CAB file is installed, the terminal must be warm-booted following the process described above in Rebooting the Intermec 700. Terminal-Specific Issues for the Intermec 5020 Terminal ------------------------------------------------------- Early versions of the Intermec 5020 terminal shipped with versions 2.11 or 2.12 of Windows CE. The Intermec 5020 currently ships with Windows CE 3.0 and any 5020 terminal not at version 3.0 can be upgraded to that level by purchasing an upgrade CD from Intermec. For details, please go to Intermec's website: http://www.intermec.com then following the links to Support -> Developers Support -> 5020 Support -> FAQ. The part number for the 5020 Upgrade Kit is: 072157. All files provided with the DCConnect Client that apply to an Intermec 5020 and all comments in this documentation that apply to an Intermec 5020 apply only to Interemc 5020's that are loaded with Windows CE 3.0. The following sections below cover various topics for the Intermec 5020: - Intermec 5020 Hardware Requirements - How to Configure the Intermec 5020 - Intermec 5020 Bar Code Configuration - Rebooting the Intermec 5020 - Intermec 5020 Keyboard Notes - Intermec 5020 Screen Notes - Notes About Building the Intermec 5020 .CAB File - Loading and Installing the Intermec 5020 .CAB File Intermec 5020 Hardware Requirements ----------------------------------- It is strongly suggested that a compact flash card be used with the 5020 in order to provie non-volatile memory for transactions. A storage card is a good place to store the DCConnect Client .CAB file and it can also be used as a method for transferring files to the terminal - if you have a PCMCIA compact flash adapter and a computer that is set up to use the PCMCIA compact flash adpater. The default .CAB and .INF files provided in the IMEC5020\SAMPLE subdirectory of the Client assume a storage card is being used. How To Configure the Intermec 5020 ---------------------------------- Configuration of the radio, network parameters, bar code parameters can be done using the Intermec configuration utility on the terminal. This utility can be started by choosing Start -> Programs -> Configuration. Once you have the terminal radio and network parameters configured and the terminal can be communicated with over the network, you can point a we browser to the terminal's IP address and the Intermec Data Collection PC Unit Manager web page on the terminal will come up. You'll be prompted for a password, which defaults to 'intermec'. The Unit Manager allows you to configure the terminal, transfer files, install applications as well as other operations. Intermec 5020 Bar Code Configuration ------------------------------------ By default, the Intermec 5020 is configured to handle any of the bar code symbologies that it supports. To make sure the ones that you will need are supported, consult the Intermec 5020 Data Collection User's manual. Also by default, bar code input is routed through the keyboard and a tab character is automatically appended to the end. In most situations while running DCConnect transaction programs, the tab will need to be replaced by a carriage return character. The default tab character is defined as a postamble character under the keyboard wedge configuration, it can be changed to a carriage return by using one of three methods. 1) The first method is to start the Web browser of your choice. Enter the TCP/IP address of the terminal you are configuring into the browser address field. The browser will connect with the terminal and display the Intermec Unit Management signon screen. Enter the password if it has been configured or just click the button to continue to the next screen. Click the "Configuration" item from the list left side of the next screen. On the configuration screen click on the "Data Collection" icon. Click on the "Virtual Wedge" tab, then click "postamble". Enter a '\r'(carriage return) into the entry field and click the Apply button to complete the change. 2) The second way that the postamble can be set, is by starting the configuration utility from the terminal's system menu. Select the configuration pull down menu and take the "Data Collection" option. Select the "Wedge" tab and change the postamble option from '\t'(Tab) to '\r' (carriage return). (Tip: There is no lower case 'r' character on the 5020 keyboard. This character can be entered by pressing and holding the Alt key while typing the 114 keys). 3) The Third method is to scan the configuration changes into the terminal. Refer to the Intermec 5020 Data Collection PC User's guide for information on using this method. Once the carriage return is configured the data coming from the scanner will look the same to the Client as if it was entered by way of the keyboard. However, if the terminal must be able distinguish between bar code and keyboard input or if better enforcement of bar code lengths is required, then special preamble and postamble characters will have to be configured and the keyword SCAN_SENTINEL_CHARS will have to be included in EMULATOR.INI. In order to change the default preamble and postamble characters in the 5020 terminal, you can use any one of the methods above and set preamble and postamble character. These must match the same values used in the EMULATOR.INI for the SCAN_SENTINEL_CHARS keyword. You should choose character values that would not normally be entered at the terminal. For more about this keyword, see Keyword: SCAN_SENTINEL_CHARS. Rebooting the Intermec 5020 --------------------------- To warm boot the terminal (necessary to use font files) - use a paper clip to press quickly in the small hole above the right enter key. On a warm boot, the system reboots without changing the 5020 settings or files. To cold-boot the terminal, press and hold the power button (yellow at bottom right of the keyboard) and use the paper clip in the hole above the right enter key. After you pull the paper clip out, release the power button. Only the network settings and scanner selection are preserved and restored on a cold boot. All other settings revert to the default factory settings. The set of files on the terminal also reverts back to its default - except for those files that are on the non-volatile \Storage Card. A cold-boot also sets the date and time back to 12am on June 1, 2001. Note: Do not activate the scanner during the boot process or the 5020 will be unable to complete the boot. If the scanner is accidentally activated during the boot process, reboot again. Intermec 5020 Keyboard Notes ---------------------------- To bring up the Start Menu on the Intermec 5020, press and release the green modifier key (next to the I/O button) and then press the 3 key. You can then use the arrow keys to scroll through the list. Press Enter when the proper selection is highlighted. To lock the 5020 keyboard into alpha character mode (so that you don't have to press the brown modifier key before each letter), press and hold the brown modifier key until you her a tone. This will lock the keyboard into alpha character mode. When you want to get out of alpha character mode, press and release the brown modifier key again. Note: Refer to Intermec's 5020 Data Collection PC Getting Started for more information on using the 5020 keyboard. Intermec 5020 Screen Notes -------------------------- The Intermec 5020 has a 1/4 VGA screen for which the screen dimensions 16x20 fit very nicely. That is why the statements: NUM_ROWS = 16 NUM_COLS = 20 are included in the sample EMULATOR.INI - found in the IMEC5020\SAMPLE directory where the Client product files are installed. You can actually set the screen dimensions to any combination of values up to 20 rows and 40 columns and the Client adjusts the font accordingly. For most cases there is not a font available which allows the Client screen to perfectly fit in the width and height available and as a result you will generally see a small border around the actual text area. Of course the more rows and columns that you try to fit on the screen the smaller the font has to be and as a result the characters may become too small for practical use. You also have the option to change which font is being used, as long as you select a non-proportional font. For more info, see Changing the Font Used By the Client on a Windows CE Device. Because the Intermec 5020 is not a Pocket PC device, the Client cannot be run in "full-screen" mode. Notes About Building the Intermec 5020 .CAB File ------------------------------------------------ A sample .INF file for building the .CAB for Intermec 5020 terminals is found in the DCConnect Client product files in IMEC5020\SAMPLE\IMEC5020.INF. Here are some notes about the contents of that file: - The font file must be installed to the \Windows directory instead of \Windows\Fonts. - The short cut for starting the Client is installed to the Programs folder (%CE11%) instead of the normal Start menu (%CE17%). For some reason the name that ends up in the Programs folder is the name of the executable (etspt.exe) rather than the name of the shortcut. Loading and Installing the Intermec 5020 .CAB File -------------------------------------------------- There are a couple of ways to install the .CAB file onto the Intermec 5020. If the terminal has a removable compact flash card, then you can simply copy the .CAB file to that card from your PC (using a PCMCIA compact flash adapter). Once you put the flash card back into the terminal, you can use the File Explorer to click on the .CAB file and install it. The Client .CAB file can also be loaded and installed by using a browser (e.g. Netscape, Internet Explorer, ...). Before the installation process can begin, you must be able communicate with the terminal using TCP/IP. The terminal and access point must be configured and must be able to respond to pings from the PC server. You must define the minimum following network parameters on the 5020 terminal before it can communicate in a RF network: IP address Subnet mask Default router If the 5020 has a Proxim radio, then, at a minimum, you will need to set the following parameters to match the access points in use: Domain Security ID If the 5020 has a Lucent 802.11 radio, then, at a mimimum, you will need to set the following parameter to match the access points in use: Network Name Setting the above listed parameters on the 5020 terminal is documented in the Intermec 5020 Data Collection PC User's manual under "Configuring the Computer". The basic steps are to do the following: 1) Press and release the green modifier key next to the [i/o] button on the bottom row of the terminal keyboard. 2) Press the [3] key. This will display the System Menu. 3) Using the up arrow key, scroll up the menu item list to select "Programs". Press the right arrow key, this will display an additional menu. Using the down arrow key, scroll down the menu and select "Configuration". Press enter to start the configuration utility. 4) Press and release the brown modifier key on the bottom row of the keyboard, then press the Alt key followed by the 'C' key. This will display the Configuration pull down menu. Scroll down the menu and enter the Network option. 5) The items you need to define are under the Radio tab. Press the Ctrl key followed by the Tab key to select the Radio tab. Use the Tab key to select the "IP Address" item. Once an item is selected the right and left arrow keys will expand and contact the item list. Expand the "IP Address list and configure the "IP Address", "Subnet mask", and "Default router" options. 6) Scroll down to the "Radio" item and expand this list. Scroll down to the "Domain" option and configure it to match your access point value. 7) Using the tab key select the "Apply" button and press enter to complete the configuration. 8) Press the brown modifier key, then the Alt key following by the 'F' key. This will display the File pull down menu. Scroll down and enter the "Exit" item to close the Configuration utility. Before you continue with the DCConnect Client product installation, be sure you can ping both the access point and the terminal. Start the Web browser of your choice. Enter the TCP/IP address of the terminal you just completed configuring into the browser address field. The browser will connect with the terminal and display the Intermec Unit Management signon screen. A password hasn't been configured, just click the button to continue to the next screen. Click the "Application Manager" item from the list left side of the next screen. The Application Manager is used to install and uninstall .CAB files onto the 5020 terminal. Use the following steps to install the DCConnect Client .CAB file: 1) In the Install section of the Application Manager, use the Browse button to locate your 5020 .CAB file for the DCConnect Client. There is also a sample Client .CAB file that is located in the IMEC5020\SAMPLE directory where the Client product files are installed. Press the Open button on the 'Choose file' dialog when you have located your .CAB file. 2) Click the Install button to start the installation process. First the .CAB file has to be transferred which should take a half a minute to a minute depending on its size. 3) When the .CAB file has been transferred, the installation will begin on the terminal. You will be prompted for the location in which to install the DCConnect Client. The default will be \Storage Card\DCConnect Client and the 'Name' field will probably say '(Install here)'. Just press Enter to accept this location. 4) Files will now be copied and the other .CAB file installation operations will be performed. You should end up with a pop-up indicating setup is complete. Press Enter to clear that pop-up. If the product installed correctly, the new entry 'etspt.exe' will display on the Start Menu in the Programs folder. On the terminal, press and release the green modifier key, then press the '3' key to display the Start menu. Then choose the 'Programs' entry. If you do not see 'etspt.exe' you can upload \Windows\Setup.log to determine whay may have gone wrong. After the .CAB file is installed, the terminal must be warm-booted (using the paper clip in the hole above the right enter key) in order for the installed font file to be registered with Windows CE. Terminal-Specific Issues for the Intelligent Instrumentation LanPoint CE Terminal --------------------------------------------------------------------------------- The best place to get information about the LanPoint CE is from the manuals provided by Intelligent Instrumentation for the LanPoint CE. The following manuals can be found on Intelligent Instrumentation's website, http://www.lanpoint.com: LANPoint CE Installation and Maintenance Manual LANPoint CE Developer's Manual LANPoint CE Quick Start Guide The sections listed below cover various topics from that documentation plus other information specific to the DCConnect Client: - LanPoint CE Hardware and Software Requirements - How to Configure the LanPoint CE - LanPoint CE Bar Code Configuration - Rebooting the LanPoint CE - LanPoint CE Keyboard and TouchScreen Notes - Notes About Building the LanPoint CE .CAB File - Loading and Installing the LanPoint CE .CAB File LanPoint CE Hardware and Software Requirements ---------------------------------------------- The LanPoint CE terminal comes with non-volatile CompactFlash storage that is given the directory name \Storage Card. This is where the DCConnect Client files should be installed so that transactions are written to non-volatile storage. This is also where the Windows CE operating system resides and boots from. When registry updates are saved to non-volatile storage, they are written to a file called IIICEREG.DAT. The LanPoint CE includes the following hardware features, some of which are options: - Built-in ethernet RJ45 10/100 Base-T connector - 9-pin Serial ports COM1 and COM2 - PS/2 mouse and keyboard connectors - PCMCIA type I, II, III - Digital I/O (not currently supported by the Client) - Battery backup - External VGA connector - Wand/wand emulatation laser Bar Code port - Undecoded LAser port - Slot reader port - 69-key QWERTY keyboard - Touch screen If using a mouse or external keyboard, these devices must be attached before the terminal is powered on in order for them to be recognized. The LanPoint CE has the option to use a Wireless Ethernet card to communicate rather than the built-in ethernet port. A separate manual is used to describe installation and configuration of wireless hardware: LanPoint CE Wireless Ethernet Supplement to the Installation and Maintenance Manual How to Configure the LanPoint CE -------------------------------- There are several ways to configure the LanPoint CE terminal: - Using the appropriate icon(s) in the Windows CE Control Panel (Start -> Settings -> Control Panel). - Once the network parameters are defined and the terminal is successfully communicating on the network, the Remote Manager Utility (a web-based application) can be accessed by entering the terminal's IP address into your favorite browser. On the terminal the WebDevice application must be running. It is called WDCE.exe and is located in the \Storage Card\mgmt directory. For more information about using the Remote Manager Utility, refer to the LanPoint CE Developer's Manual. The WebDevice utility consumes a lot of resources and therefore cannot be run at the same time as the DCConnect Client or it will degrade the performance of the Client. - The following parameters: IP address Gateway Subnet WINS address DHCP DNS I/O Space Host controller IP can be set via Serial cable and the use of the Monitor program (MonitorCE.EXE) which starts up automatically whenever Windows CE is started. A serial communications program such as HyperTerminal must be used to communicate with the Monitor program. The program on the PC (e.g. HyperTerminal) must be configured to talk to the serial port using the communication parameters: 9600 baud, no parity, 8 data bits, 1 stop bit The ASCII setup must have the following values set: Send line ends with line feeds Send CR/LF at the end of each line Special commands must be sent to the terminal for each parameter that is to be configured. Please see the LanPoint CE Developer's Manual for these commands and more information about the Monitor program. - Because the terminal settings are written to the registry, the IBM CE Config tool can be used to configure the LanPoint CE terminal. However, unlike the Intermec 700, none of the Visual Basic files are preloaded on the LanPoint CE; therefore you must be sure to include all the required files in the DCConnect Client .CAB file. For more information about which files are needed and for complete information about the IBM CE Config tool, please see IBM CE Configuration Tool. As of this writing, we have not yet identified which registry keys should be updated. So you would have to use the Remote Registry Editor of the Microsoft eMbedded Visual C++ or Visual Basic toolkit. - The LanPoint CE documentation also refers to a tool that uses Telnet to access the terminal. No matter what method is used to update the LanPoint CE configuration in the registry, it is very important that the registry be saved to non-volatile storage after the changes are made. Otherwise the changes will be lost when the terminal is restarted. There are two utilities available to flush the registry to non-volatile storage. The first one is the preferred one: - The LanPoint CE includes a program called CEFlush.exe (in the \Storage Card directory) that when run, updates the registry to non-volatile storage and then ends itself. This should be run after you have made a change or set of changes to the terminal configuration. If using the IBM CE Config Tool, then before rebooting, the RUN_PROGRAM command should be used to run CEFLush.exe. - The second method uses a program called RegScan that loads itself into memory and puts an icon in the system tray. RegScan automatically scans for changes every 15 seconds and updates non-volatile storage. You can also double click the icon in the system tray to have the update occur immediately. The update of non-volatile storage takes about 5 seconds. The problem with this method is that with RegScan loaded into memory, you get the 5 second delay every 15 seconds - which has a negative impact on other programs running on the terminal - including the DCConnect Client. See the "LanPoint CE Developer's Manual" for more information about these tools. LanPoint CE Bar Code Configuration ---------------------------------- By default the LanPoint CE activates all bar code symbologies that it supports. These include: Code 3 of 9 Code 128 Code 16K Interleaved 2 of 5 Code 11 Industrial 2 of 5 UPC/EAN Matrix 2 of 5 MSI Plessey Codabar To change the active bar code symbologies and their settings, you can use the Remote Manager Utility described in the previous section. These settings are maintained in the registry. Therefore the IBM CE Config Tool can be used as well - if you can determine which registry keys should be updated. Once the registry has been updated the terminal will need to be rebooted before the changes take effect. A utility called LPBLoad automatically runs each time the terminal is powered on or rebooted. This utility tests the bar code controller and then retrieves the bar code settings from the registry and loads them into the bar code controller. In order for the Client to receive scanner input, the scanner input must be routed through the keyboard using the WedgeCE.exe utility, located in the \Storage Card directory. On the LanPoint CE, an internal COM3 port is where the bar code scanners send their inputs. The WedgeCE utility must be told to grab the scanner data from COM3 and send it to the keyboard. WedgeCE can also be used to get serial input from the terminal's COM1 and COM2 ports and route that to the keyboard. Please refer to the "LanPoint CE Developer's Manual" for information about how to run the WedgeCE utility. The LanPoint CE supports the settings of preamble and postamble characters for bar codes. Therefore these can be set in conjunction with the use of the keyword SCAN_SENTINEL_CHARS in EMULATOR.INI to allow the Client to distinguish between keyboard and scanner input even though both come through the keyboard. For more info, please see Keyword: SCAN_SENTINEL_CHARS. Rebooting the LanPoint CE ------------------------- The LanPoint CE can be rebooted by powering it off or by choosing the Restart option from the Windows CE Start menu. Regardless of which way the terminal is rebooted. only those files that were created on the \Storage Card are preserved. All other diretories are set to their defaults during the boot up process. The registry is restored from its latest update that was written to the file IIICEREG.DAT in the \Storage Card directory. LanPoint CE Keyboard and TouchScreen Notes ------------------------------------------ Unlike many smaller Windows CE devices, the LanPoint CE has a complete keyboard and it therefore does not have the need for a software keyboard. Here are a few notes from the LanPoint CE documentation about certain key / key-combinations. For each combination, press and hold the first key while you press and release the second key, then release the first key. Ctrl+Esc = Opens the Windows CE Start menu Esc = Cancels or closes current menu or dialog Tab = Moves cursor between controls in a dialog or to the next item in a drop-down list Ctrl+tab = Moves cursor between tabs in a dialog - from left to right Alt+Tab = Opens the task manager window Alt+x = Selects and opens menu item 'x' where 'x' is the underlined letter in a menu item Shift+x = Selects and opens sub-menu item 'x' where 'x' is the underlined letter in a sub-menu name. Ctrl+Arrow = Moves cursor to next word in a text field - in the direction of the arrow pressed Alt+Arrow = Opens a drop-down list Shit+Arrow = Selects a letter in a text field Shift+Ctrl +Arrow = Selects a word from a text field Enter = Changes made to settings are sent to the Windows Registry, then flushed to CompactFlash by RegScan c = Closes a sub-menu item Ctrl+c = Copies selected item to clipboard Ctrl+v = Pastes clipboard contents Ctrl+x = Cuts and places selected item in clipboard The LanPoint CE also has a touchscreen that responds like a mouse. Tapping the screen once on a menu item causes the same response as left-clicking a mouse. Two quick taps generate a double left-click response. Pressing and holding the Alt key while tapping the screen results in the same response as right-clicking a mouse. The touchscreen can be recalibrated using the program TchCal.exe which can be found in the \Storage Card directory. LanPoint CE Screen Notes ------------------------ The LanPoint CE is available with either a monochrome or color display. However, even if a color display is installed, the DCConnect Client currently only shows its text as monochrome characters. The LanPoint CE has a 1/2 VGA screen (640 x 120 pixels) for which the screen dimensions 8x40 fit very nicely. That is why the statements: NUM_ROWS = 8 NUM_COLS = 40 are included in the sample EMULATOR.INI - found in the LANPTCE\SAMPLE directory where the Client product files are installed. You can actually set the screen dimensions to any combination of values up to 20 rows and 40 columns and the Client adjusts the font accordingly. For most cases there is not a font available which allows the Client screen to perfectly fit in the width and height available and as a result you will generally see a small border around the actual text area. Of course the more rows and columns that you try to fit on the screen the smaller the font has to be and as a result the characters may become too small for practical use. You also have the option to change which font is being used, as long as you select a non-proportional font. For more info, see Changing the Font Used By the Client on a Windows CE Device. Because the LanPoint CE is not a Pocket PC device, the Client cannot be run in "full-screen" mode. Notes About Building the LanPoint CE .CAB Files ----------------------------------------------- If you will be using the IBM CE Config Tool be sure to include in the .CAB file, all of the required Visual Basic files; the LanPoint CE does not include any of the Visual Basic files by default. The sample .INF file for building the .CAB for the LanPoint CE is provided where the DCConnect Client files are installed in the directory lanptce\samples\lanptce.inf Loading and Installing the LanPoint CE .CAB File ------------------------------------------------ The .CAB file can be transferred and installed to the LanPoint CE terminal using one of the following methods: - Remove the CompactFlash card from the terminal and load the .CAB file onto it from a PC that has a PCMCIA CompactFlash adapter. After the card is reinserted into the LanPoint CE, you can use the Explorer to find the .CAB file on the \Storage Card and then click on it to install. Note: Early versions of the LanPoint CE had a problem that prevented the .CAB file from being installed if it was on the \Storage Card. You'd get a message about needing to double- click to install - when in fact that is what you just did. If you have this problem, move the .CAB file to the root directory or \Windows directory and then double-click on it. - Use the Remote Manager Utility to transfer and install the .CAB file. Before loading any .CAB file to the terminal, make sure the read-only attribute for that .CAB file is set where the file resides on the PC. This is the only way to force the .CAB file to have its read-only attribute set after the file is copied to the terminal. If the .CAB file does not have its read-only attribute set on the terminal, then the .CAB file is deleted automatically after it is installed. After the .CAB file is installed, be sure to use the CEFlush or RegScan utility to ensure that the registry is saved to non-volatile storage. The Client uses a registry entry to locate its configuration and license files. If the terminal is rebooted without saving the registry, this registry entry will be lost and the Client will not be able to run. After the registry has been saved, the terminal should be rebooted - especially if a font file is installed. Terminal-Specific Issues for the Symbol 81xx Terminal ----------------------------------------------------- The following sections below cover various topics for the Symbol 81xx terminal: - Symbol 81xx Hardware and Software Requirements - How to Configure the Symbol 81xx - Symbol 81xx Bar Code Configuration - Rebooting the Symbol 81xx - Symbol 81xx Keyboard Notes - Symbol 81xx Screen Notes - Notes About Building the Symbol 81xx .CAB File - Loading and Installing the Symbol 81xx .CAB File Symbol 81xx Hardware and Software Requirements ----------------------------------------------- The Symbol 81xx terminal comes with non-volatile storage that is given the directory name \Application. This is where the DCConnect Client files should be installed so that transactions are written to non-volatile storage. An optional compact flash card can be installed for additional non-volatile storage - and as a way of transferring files to the terminal. If installed, this storage is given the directory name \Data. The Symbol 81xx terminal can be loaded using Microsoft ActiveSync. This requires the use of a serial cable attached to the bottom of the terminal or to a dock or the use of the infrared port. Once an ActiveSync partnership has been established serially or via infrared, an ActiveSync connection can then be made over the radio. If you have large files to transfer, registry searching to do or remote debugging to do, using ActiveSync over the radio will be much faster. The Symbol 81xx does support infrared for transferring files without having to have established an ActiveSync partnership. Any file that is transferred shows up in the 'My Documents' folder. A .CAB file can be transferred this way and can then be installed. However, after the install the .CAB file is deleted because this kind of transfer does not set the read-only attribute even if the file on the PC had the read-only attribute set. Use of the scanner on the Symbol 81xx with the DCConnect Client requires the use of the ScanWedge utility that is provided as part of the Symbol Windows CE SDK. This SDK is available as a free download from the Symbol website. Start at: Symbol Developer Zone If not already registered, click the 'New Customers' link. Otherwise sign-in and select 'Developer Downloads' on the left followed by the link under 'PocketPC/WinCE Platforms'. Then select the 'PDT 8100 Windows CE SDK v1.00' or 'PDT 8100_2002 Windows CE SDK v1.00' depending on whether the Symbol terminal you have is loaded with the original Pocket PC or Pocket PC 2002. How to Configure the Symbol 81xx -------------------------------- On the Symbol 81xx, you can use the Settings option from the Start Menu to manually configure device Settings options such as those for Spectrum24 Setup (on the System tab) and for Network (on the Connections tab). The Symbol 81xx setting are maintained in the registry; therefore you can use the IBM CE Config Tool to set these values rather than manually setting up every terminal. For more information about this tool please see IBM CE Configuration Tool. The DCConnect Client product files includes a sample CECONFIG.INI (in the directory SYM81XX\SAMPLE) that we used during testing. The registry settings contained within were sufficient to reconfigure the terminal after a cold-start so that it could run the DCConnect Client and communicate with the DCConnect Server that had a Lucent 802.11 radio card. Following is a list of the registry keys and values that map to the various configuration options. For each, the first line describes the option on the currently specified tab that allows this registry key to be set via the settings menus. The second line shows the registry key followed by a comma and the registry value name. In parenthesis is the type for the registry value. Personal Tab ------------ Owner Information (Name, Company, Address, Telephone, E-mail) HKEY_CURRENT_USER\ControlPanel\Owner, Owner (REG_BINARY) // See default CECONFIG.INI for example of how to define the parts Sounds & Reminders/Notifications (System Volume) HKEY_CURRENT_USER\ControlPanel\Volume, Volume (REG_DWORD) // The 6 possible levels correlate to the following values: // 0, 858993459, 1717986918, 2576980377, 3435973836, 4294967295 Today (Display Today screen if device is not used ... for ?? hours HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai, SessionTimeout (REG_DWORD) // Set to 0 to disable switching to Today screen System Tab ---------- About, Device ID Tab (Device name) HKEY_LOCAL_MACHINE\Ident, Name (REG_SZ) // This is the Partnership name Backlight, Battery Power tab (Turn on backlight when ... is tapped) HKEY_CURRENT_USER\ControlPanel\Backlight, BacklightOnTap (REG_DWORD) // Set to 1 to enable turning on the backlight whenever screen is tapped Spectrum24 Setup, (802.11 ESSID) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms, ESS_ID (REG_SZ) Spectrum24 Setup, Advanced, Mobile Unit Tab (Operating Mode) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms, PortType (REG_DWORD) // 1=ESS (Infrastructure), 3=PIBSS (Enhanced Ad-Hoc), 4=IBSS (Ad-Hoc) Connections Tab --------------- Network Adapters, 802.11b Wirless LAN, IP address tab (Use specific IP address) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, EnableDHCP (REG_DWORD) // Set to 0 to use specific IP address; set to 1 to Enable DHCP Network Adapters, 802.11b Wirless LAN, IP address tab (IP Address) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, IpAddress (REG_MULTI_SZ) Network Adapters, 802.11b Wirless LAN, IP address tab (Subnet mask) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, Subnetmask (REG_MULTI_SZ) Network Adapters, 802.11b Wirless LAN, IP address tab (Default gateway) HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, DefaultGateway (REG_MULTI_SZ) Network Adapters, 802.11b Wirless LAN, Name Servers tab (DNS): HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, DNS (REG_MULTI_SZ) Network Adapters, 802.11b Wirless LAN, Name Servers tab (WINS): HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms\TcpIp, WINS (REG_MULTI_SZ) On the bottom right corner of the today screen is a small icon that can be used to bring up the Network Interface Card Task Tray (NICTT) utility which provides a quick way to view or change some of the network and radio parameters. The registry keys below are used to store the values shown by the NICTT utility. Most of these keys have counterparts listed above. All the Values listed below are part of the key: HKEY_LOCAL_MACHINE\SOFTWARE\Symbol Technologies, Inc.\NICTT The following list shows the key value and its type for some of the options in the utility: Location in Utility Value Name Type ------------------- ---------- ---- Mode tab (802.11 ESSID) ESSID0 REG_SZ IP Config tab (DHCP / Static) EnableDHCP REG_DWORD IP Config tab (IP Address) IpAddress REG_MULTI_SZ IP Config tab (Subnet Mask) Subnetmask REG_MULTI_SZ IP Config tab (Gateway) DefaultGateway REG_MULTI_SZ IP Config tab (DNS) DNS REG_MULTI_SZ IP Config tab (WINS) WINS REG_MULTI_SZ The utility presents other options to change, including the Operating mode and Channel. These apparently change the actual values in the key: HKEY_LOCAL_MACHINE\Comm\NETWLAN1\Parms 'Operating mode' corresponds to the 'PortType' value name - as was described above under the System Tab. 'Channel' is found under this key as well. Below are listed other values found under this key. To figure out how they should be set, you will need to use the NICTT tool and/or Spectrum 24 utility on the Settings -> System tab to change the settings as needed and the use the Remote Registry Editor to view how the values are set. KerberosRealm KerberosKDC EncryptionKey4 EncryptionKey3 EncryptionKey2 EncryptionKey1 EncryptionKeyId KerberosEnable MUEncryptionAlgorithm Diversity IntlRoaming LongPreamble Adhoc_TxPower Ess_TxPower PowerIndex PowerMode The ScanWedge Utility which is required for running and configuring the scanner, uses the following base registry key to store all of its options: HKEY_CURRENT_USER\Software\Symbol\ScanWedge Listed below are the set of value names that the ScanWedge tool looks for to configure the scanner. For each is given the type and the default setting that is assumed if the value is not defined in the registry: Default Value Name Type Assumed Comments ---------- ---- ------- -------- Scanner REG_SZ "SCN1" Type REG_DWORD 1 0=foreground 1=background 2=monitor All REG_DWORD 1 0=all symbologies disabled, 1=enabled UPCE0 REG_DWORD 1 0=disabled 1=enabled UPCE1 REG_DWORD 1 0=disabled 1=enabled UPCA REG_DWORD 1 0=disabled 1=enabled MSI REG_DWORD 1 0=disabled 1=enabled EAN8 REG_DWORD 1 0=disabled 1=enabled EAN13 REG_DWORD 1 0=disabled 1=enabled CODABAR REG_DWORD 1 0=disabled 1=enabled CODE39 REG_DWORD 1 0=disabled 1=enabled D2OF5 REG_DWORD 1 0=disabled 1=enabled I2OF5 REG_DWORD 1 0=disabled 1=enabled CODE11 REG_DWORD 1 0=disabled 1=enabled CODE93 REG_DWORD 1 0=disabled 1=enabled CODE128 REG_DWORD 1 0=disabled 1=enabled PDF417 REG_DWORD 1 0=disabled 1=enabled AutoTab REG_DWORD 0 0=Don't send tab at end, 1=send tab AutoEnter REG_DWORD 0 0=Don't send enter at end, 1= send enter Binary REG_DWORD 0 0=Convert ASCII to UNICODE, 1=no conversion Data REG_DWORD 1 0=Don't send barcode data, 1=send data Prefix REG_SZ "" Character(s) to add before barcode data Suffix REG_SZ "" Character(s) to add after barcode data The 'All' setting either disables or enables all symbologies. If 'All' is set to 1 and specific symbologies (e.g. UPCE0, EAN13, CODE11, ...) are defined in the registry and have a value of 0, then those specific symbologies will be disabled and all others not in the registry will be enabled. Conversely, if 'All' is set to 0, then all symbologies are disabled unless specific symbology value names are defined and their value is 1. Symbol 81xx Bar Code Configuration ---------------------------------- By default, the Symbol 81xx does not activate scanning or provide settings to make scanning work. However, part of the Symbol Windows CE SDK includes a tool called SCANWEDGE.EXE that can be used to route scanner input to the keyboard. ScanWedge.exe also uses settings in the registry for configuring which symbologies are enabled and what prefix and suffix characters should be appended to each bar code that is scanned. See the previous section for a description of where in the registry these settings can be found. Because the scanner settings are maintained in the Windows CE registry, you can use the IBM CE Config Tool to configure all the bar code related settings rather than having to do this manually for every terminal that must be set up. In order for the DCConnect Client to be able to distinguish between keyboard and scanner input, you should set up a 'Prefix' and 'Suffix' character (e.g. { and } ) in the registry and then be sure to tell the DCConnect Client which characters were used by including the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI. For example: SCAN_SENTINEL_CHARS = 123, 125 For more information about this keyword, please refer to Keyword: SCAN_SENTINEL_CHARS. If the Client does not need to distinguish between scanner and keyboard data, then you can eliminate the use of the SCAN_SENTINEL_CHARS keyword in EMULATOR.INI and the setting of the 'Prefix' and 'Suffix' values in the registry. However, you should set to 1 the 'AutoEnter' registry value described in the previous section. When installing the DCConnect Client, be sure to include the ScanWedge.exe in the DCConnect Client .CAB file and make sure a shortcut is created for it in the Startup folder. The sample .INF file provided with the DCConnect Client (SYM81XX\SAMPLE\SYM81XX.INF) includes commented out statements for including the ScanWedge.exe tool and for setting up the shortcut in the Startup folder. While the ScanWedge tool is running, if you go to the Today screen you will see a triangular bar code icon with a red laser line in the bottom right corner. If you tap this icon you will be presented options to enable/disable the scanner or to bring up the 'Show UI' screen which lets you test bar code scanning. Rebooting the Symbol 81xx ------------------------- To warm boot the Symbol 81xx, which preserves all files and registry settings, press and hold the appropriate key combination listed below: 28-key = Backlight + Down arrow + Function 37-key = Backlight + Alpha + Function 47-key = Backlight + End + Function To cold-boot the Symbol 81xx, you must press and hold the Func key and then use the tip of the stylus to gently press the reset button that is on the right side under the battery cover. Then replace the battery cover and turn on the terminal. Symbol 81xx Keyboard Notes -------------------------- Symbol has different models of the 81xx series of terminal with different numbers of keys. Refer to the Symbol documentation for information about how to use them. On a couple of models there is an 'Alpha' key that must be pressed to switch the terminal to a mode where the keys generate alphabetic characters instead of numbers and symbols. Once pressed the terminal remains in the Alpha mode until the Alpha key is pressed again. There does not appear to be any indication on the terminal as to whether or not the Alpha mode is currently active. In addition to the physical keyboard, the Windows CE Pocket PC environment also supports a software keyboard that you use your stylus with to type the appropriate keys. When the software keyboard is available to an application, you'll see a little keyboard symbol in the bottom right corner of the screen. Just tap this symbol and the software keyboard will pop up at the bottom of the screen. When the DCConnect Client is running in full-screen mode, the keyboard symbol is not available. Instead the toolbar of the DCConnect Client contains an icon marked A-Z. This icon is used to show and hide the software keyboard. Symbol 81xx Screen Notes ------------------------ The Symbol 81xx has a 1/4 VGA screen for which the screen dimensions 16x20 fit very nicely. That is why the statements: NUM_ROWS = 16 NUM_COLS = 20 are included in the sample EMULATOR.INI - found in the SYM81XX\SAMPLE directory where the Client product files are installed. You can actually set the screen dimensions to any combination of values up to 20 rows and 40 columns and the Client adjusts the font accordingly. For most cases there is not a font available which allows the Client screen to perfectly fit in the width and height available and as a result you will generally see a small border around the actual text area. Of course the more rows and columns that you try to fit on the screen the smaller the font has to be and as a result the characters may become too small for practical use. You also have the option to change which font is being used, as long as you select a non-proportional font. For more info, see Changing the Font Used By the Client on a Windows CE Device. The Symbol 81xx can be configured to turn on the backlight any time the screen is tapped by the stylus. The option to change this is accessed from the Backlight icon on the System tab of the Start -> Settings screen. You can set this option separately for when the terminal is running on battery and when it is running on AC power. Like any other settings, these options may be changed in the registry using the IBM CE Config Tool. To find out which registry key must be updated, please see How to Configure the Symbol 81xx. Because the Symbol 81xx is a Pocket PC device, the Client can be set up to run in "full-screen" mode - which means while the Client is running the terminal user cannot get to any other application on the device. This is done using the following keyword in EMULATOR.INI: FULL_SCREEN = Y and including ETSUSER.DLL in the DCConnect Client .CAB file. For more information about full-screen mode, please see Keyword: FULL_SCREEN. Notes About Building the Symbol 81xx .CAB Files ----------------------------------------------- A sample .INF file for building the .CAB for Symbol 81xx terminals is found in the DCConnect Client product files in SYM81XX\SAMPLE\SYM81XX.INF. Here are some notes about the contents of that file: - In the [CEStrings] section the InstallDir is set to "\Application\%AppName%" instead of the more common "\Storage Card\%AppName%" because \Application is the name of the non-volatile storage on the Symbol 81xx terminals. - In the [SourceDisksNames.sym81xx] section notice that the product executables use directory identifier 7 and that is defined to be the ..\..\imec700 directory - which of course are the same executables used for the Intermec 700. This is done because both the Intermec 700 and Symbol 81xx terminals run Windows CE 3.0 with the Intel StrongARM processor. In the [SourceDisksFiles] and [SourceDisksFiles.sym81xx] sections, the files that reference directory identifier 7 are etspt.exe, etspt.dll and etsuser.dll. - There are commented out references to Files.Symbol and Shortcuts.Symbol which are for installing the Symbol ScanWedge.exe utility. In order to use the scanner, you will need to get this utility from the Symbol Windows CE SDK and uncomment the references to it in the .INF file. For more information about this utility please see the section above Symbol 81xx Bar Code Configuration. - Full screen mode is set up by default by including ETSUSER.DLL and by including an EMULATOR.INI that contains the statement FULL_SCREEN=Y. - There are commented out references to files and shortcuts for the IBM CE Config tool. Loading and Installing the Symbol 81xx .CAB File ------------------------------------------------ Whether you use Microsoft's ActiveSync or you copy files directly to the compact flash card, be sure to copy the DCConnect Client .CAB file to the \Application directory so that it is in non-volatile storage. This preserves it in the event the terminal is cold-boot or has a total loss of battery power. Before loading any .CAB file to the terminal, make sure the read-only attribute for that .CAB file is set where the file resides on the PC. This is the only way to force the .CAB file to have its read-only attribute set after the file is copied to the terminal. If the .CAB file does not have its read-only attribute set on the terminal, then the .CAB file is deleted automatically after it is installed. Unlike the Intermec 700 terminal, there is no special directory into which you can place the .CAB file to have it automatically installed after a warm reboot or cold-boot. Therefore after the file is transferred to the terminal you must use the File Explorer (Start -> Programs -> File Explorere) to locate the .CAB file. Once you've located it, tap the icon once to install it. If you are using the IBM CE Config Tool, you can run that as soon as the .CAB file installation completes. This process will typically include a reboot of the terminal. If you are not running the CE Config Tool, after the .CAB file is installed, the terminal must be warm-booted in order to have any font file registered. Please see Rebooting the Symbol 81xx. Terminal-Specific Issues for Non-Pocket PC, StrongARM Compatible Devices ------------------------------------------------------------------------ This section gives a few notes about devices that are similar to the Intermec 700 or Symbol PDT81xx terminals as far as processor and Windows CE version are concerned but that are not Pocket PC devices. Two such devices are: Group Mobile MA1000 Intel StrongARM processor Windows CE 3.0 Symbol PPT 88xx Intel XScale processor Windows CE .NET Because these devices are not Pocket PC devices, they do not include the AYGSHELL.DLL that the Intermec 700 flavor of the Client uses to implement the FULL_SCREEN option in EMULATOR.INI. So in order for the Client to run on these devices, you must use the flavor of the Client provided in the following product directory: .\ARMNOPPC The ETSPT.EXE and ETSPT.DLL in this directory will run on non-Pocket PC devices (they'll also run on Pocket PC devices) with a StrongARM or compatible processor and Windows CE 3.0 or later compatible version. When building CFRs for non-Pocket PC devices of this type, you can still use the CFRAPICE.LIB and other libraries and samples CFRs from the .\CFRTOOLS\IMEC700 directory because AYGSHELL.DLL is not required by any of the CFR libraries or samples. Building of .CAB files for non-Pocket PC devices of this type can also be done in a manner similar to that for the Intermec 700. Just don't try to use the CE Config Tool (it requires a Pocket PC environment) and don't use the FULL_SCREEN keyword in EMULATOR.INI. Terminal-Specific Issues for the Intermec CK30 Terminal ------------------------------------------------------- This section gives a few notes about using the DCConnect Client on the Intermec CK30 terminal. This terminal uses Windows CE .NET (4.2) and has the Intel XScale processor. Because of this, the DCConnect Client had to be built with Version 4.0 of the Microsoft eMbedded C++ and the Intermec CK30 toolkit. This special flavor of the Client can be found in the following product directory: .\CK30 Also found in this directory, in the sub-directory .\CK30\SAMPLE is a sample EMULATOR.INI, a sample .CAB file and sample .INF file used to build that .CAB file. The EMULATOR.INI includes a couple of keywords worth noting: FULL_SCREEN = Y HIDE_MENU_BAR = Y Because the CK30 has a smaller screen, the keywords above can be used to increase the amount of the screen used by the Client. The FULL_SCREEN=Y keyword hides the Windows CE task bar and start button while the HIDE_MENU_BAR keyword hides the Client's own menu bar - thus requiring a key to be pressed to bring up the menus. For more information please see Keyword: FULL_SCREEN and Keyword: HIDE_MENU_BAR. For information about configuring the CK30's radio parameters, network parameters, scanner parameters, ... please refer to the User's Guide for the CK30 which is available from Intermec's website: www.intermec.com. When building CFRs for the Intermec CK30 you must build them using version 4.0 of the Microsoft eMbedded C++ compiler. And you must link with the CFRAPICE.LIB that is found in the .\CFRTOOLS\CK30 directory because that too had to be built with version 4.0 of the compiler. Terminal-Specific Issues for the Intermec CV60 Terminal ------------------------------------------------------- This section gives a few notes about using the DCConnect Client on the Intermec CV60 terminal. The CV60 can be loaded with either Windows XP or Windows CE. If loaded with XP then use the 32-bit Windows flavor of the Client. For more details, please see Using the DCConnect Client on Windows 95/98/Me/NT/2000/XP/7/Server. Otherwise the terminal is loaded with Windows CE .NET (4.2). Because of this, the DCConnect Client had to be built with Version 4.0 of the Microsoft eMbedded C++ and the Intermec CV60 toolkit. And because the CV60 has an Intel Pentium III processor, the executables for the CK30 will not work on it. This special flavor of the Client can be found in the following product directory: .\CV60 Also found in this directory, in the sub-directory .\CV60\SAMPLE is a sample EMULATOR.INI, a sample .CAB file and sample .INF file used to build that .CAB file. For information about configuring the CV60's radio parameters, network parameters, scanner parameters, ... please refer to the User's Guide for the CV60 which is available from Intermec's website: www.intermec.com. When building CFRs for the Intermec CV60 you must build them using version 4.0 of the Microsoft eMbedded C++ compiler. And you must link with the CFRAPICE.LIB that is found in the .\CFRTOOLS\CV60 directory because that too had to be built with version 4.0 of the compiler. Terminal-Specific Issues for the Symbol MC 90xx Terminal -------------------------------------------------------- This section gives a few notes about using the DCConnect Client on the Symbol MC 90xx terminal. This terminal uses Windows CE .NET and has the Intel XScale processor. Because of this, the DCConnect Client had to be built with Version 4.0 of the Microsoft eMbedded C++. Although Symbol provides an SDK for this terminal, it was not necessary in order to build the Client for this device; nor is it necessary for building CFRs for this device. The special flavor of the Client for this terminal can be found in the following product directory: .\SYM90XX Also found in this directory, in the sub-directory .\SYM90XX\SAMPLE is a sample EMULATOR.INI, a sample .CAB file and sample .INF file used to build that .CAB file. When building CFRs for the Symbol MC 90xx terminal you must build them using version 4.0 of the Microsoft eMbedded C++ compiler. And you must link with the CFRAPICE.LIB that is found in the .\CFRTOOLS\SYM90XX directory because that too had to be built with version 4.0 of the compiler. Terminal-Specific Issues for the Motorola (Symbol) MC 91xx Terminal ------------------------------------------------------------------- This section gives a few notes about using the DCConnect Client on the Motorola MC 90xx terminal (formerly Symbol). This terminal runs Microsoft Windows CE 6.0 or Microsoft Windows Mobile 6.5 Classic, or later, on the Marvell PXA320 processor. It also features a VGA display and because of this, the DCConnect Client had to be built with Microsoft Visual Studio 2005 C++ compiler. If you try to run the MC 90xx executables on the MC 91xx, the Menu Bar shows up corrupted. But if the HIDE_MENU_BAR option is in use, the MC 90xx would operate and display everything properly. Although Motorola/Symbol provides an SDK for this terminal, it was not necessary in order to build the Client for this device; nor is it necessary for building CFRs for this device. In fact CFRs that were built for the Symbol MC 90xx or even the Intermec 700 should run on the MC 91xx and compatible devices. The special flavor of the Client for this terminal can be found in the following product directory: .\MC91XX Because the only issue with the MC 90xx executables running on the MC 91xx is with the displaying of the menu bar, files related to creating .CAB files and building CFRs for the MC 90xx can also be use for the MC 91xx terminals.