H15 laser scanner
The H15 is a Windows CE 5.0 handheld terminal. Slim and simplistic in its design, it carries the full power of a Windows-based OS for more advanced applications. It connects to the PC via a wired cradle, the CRD15, and uses ActiveSync to transfer data and deploy software. It also possesses WiFi and Bluetooth capabilities for wireless data transfer needs.
The scan engine can be configured either programmatically, via C++ or .NET APIs, or through a control panel. Various configuration options are available, as well as the ability to send Universal Menu Book commands for additional configuration. As far as getting barcode data into an application, the H15 can either wedge the data in wherever there is text focus, or receive the barcode data from event handlers implemented and registered in applications.
Downloads
Software
Document |
Description |
Download |
Firmware - OS |
This is the main firmware file for the H15. It can be installed in one of two ways. See the Upgrading section for details. |
Download |
Firmware - Bootloader |
This is the latest bootloader for the H15. Install this in the same way as you would install the OS. Note that it is required for the latest version of the OS. |
Download |
SDK |
This SDK is required for developing software that will run on the H15's Windows CE OS. Enclosed in this file are the System Control and Barcode Scanner APIs, as well as an installer for the main SDK. |
Download |
Documents
Document |
Description |
Download |
Quick Start Guide |
This is the quick start guide for the H15. |
Download |
Users Manual |
This is the Users Manual for the H15. |
Download |
Usage
Cold Boot
To Perform a Cold Boot (factory reset) simply press together [POWER] + [F1] + [F4]
Warm Boot
To perform a Warm Boot (reboot) simply press together [F1] + [F4]
Suspend
To suspend the unit (put to sleep) simply press the [POWER] button once. Press the [POWER] button a second time to wake up the H15.
Current Firmware
To determine your current firmware navigate to the following path:
- 'Start' > 'Settings' > 'Control Panel' > 'Control Center' > 'Information' > 'OS Version'
ActiveSync
The H15 can use Microsoft ActiveSync (for Windows XP) or Windows Mobile Device Center 9for Vista and 7) to sync data and transfer files between the H15 and a Windows PC. Two connection methods exist.
USB
To connect the H15 to a PC for ActiveSync via USB simply install the H15 into its cradle and connect the cradle both to supplied external power adapter and to the PC via the supplied USB cable. If ActiveSync (or WMDC) does not automatically connect to the H15 select 'Start' > 'Programs' > 'ActiveSync' to create the link.
Bluetooth
Connecting to a PC over an ActiveSync (or WMDC) connection over Bluetooth is a two part process. Part one includes configuring the H15 to use Bluetooth ActiveSync instead of USB. Part two involved pairing the H15 to the host PC via Bluetooth.
Configure ActiveSync
- Navigate to: 'Start' > 'Settings' > 'PC Connection'
- Check the box that says 'Enable direct connections to the desktop computer'
- Click the 'Change Connection' button.
- Choose 'Bluetooth' from the drop-down menu and click 'OK'
- Tap 'OK'
- Tap 'X'
Bluetooth Pairing
- Make sure the host PC is discoverable and allows incoming connections in your Bluetooth settings.
- On the H15 navigate to: 'Start' > 'Settings' > 'Control Panel' > 'Bluetooth Device Properties'
- Check the box 'Enable Bluetooth Device' and wait for the popup message 'Enable Bluetooth Successful!!'. Tap 'OK'
- Click 'Scan Device Service'
- Click 'Scan Device'. It may take a minute or two for your PC's devices to show up. Note that it is likely for each PC in range to appear across multiple lines as they support multiple types of connections.
- Double-Tap the icon that appears to be two blue arrows rotating inside a circle.
- On the popup window that appears click 'Trusted'.
- Select 'Yes' when prompted if you need to authenticate the device.
- Enter a default PIN code of '0000'.
- You should be prompted on the PC for a device attempting a connection. You will also be prompted for the PIN code you entered previously. Be sure these match.
- Once you see success messages on the host PC please click 'OK' then 'OK' then 'X' buttons to return to the desktop on the H15.
Final Steps
- Navigate to: 'Start' > 'Programs' > 'ActiveSync'
- If this part of the process gives an error message you may need to follow these steps:
- Navigate to: 'Start' > 'Settings' > 'Control Panel' > 'Bluetooth Device Properties'
- Click 'Scan Device Service'
- Double Click your previously setup connection (it should already appear here)
- Click 'Active' from the popup window. Tap 'OK' then 'OK' then 'X' to return to the Desktop.
- Attempt the ActiveSync connection again.
Upgrading
Upgrading the Windows ROM on your H15 is an easy process. There are two ways to perform this activity. Method one requires a micro SD card of no greater than 2GB in size. Method two requires either an SD card or an Activesync connection to copy files over to the device.
SD Card Method
The firmware on an H15 can be updated simply by copying certain files to an SD card and executing a specific button sequence on the unit.
- Download the OS image file from the Software Downloads table above.
- Copy this file (xip.nb0) onto the root of a micro SD card of no greater than 2GB in capacity.
- Install this micro SD card into the socket underneath the battery of the H15.
- Install the battery into the H15 and close and latch the battery door. Note that the battery must be at least 30% charge.
- Perform a Cold Boot.
- Immediately after releasing the buttons press and hold [F1] + [F2] + [F3] together. You should see the following message on the screen:
Updating System
Please Wait...
Followed closely by:
Reading File
Please Wait...
- You will see a progress bar move along the screen for a short time (approximately 1 minute) at which point you will see the following message:
Update Successfully
Please Reboot system
- Perform another Cold Boot.
- Your device will now boot up right into Windows. The upgrade is now complete.
SDK
FAQ
What do I need to create, build, and load applications I make for the H15?
- First, you will want some version of Visual Studio, typically 2005 onwards, or emBedded Visual C++ 4.0 (if you're keeping it cheap and building a native application). You should also have ActiveSync 4.5 installed for deploying and debugging your application. Next, you'll want to install the H15 SDK, and make sure that your copy of Visual Studio can find the H15 SDK's libraries and headers (again, if you're building a native application). If you're building a .NET application, then you need only to reference the bcrctl.net DLL in your Visual Studio project. Finally, you'll need to create the appropriate project type; typically a Windows Application or Windows Forms Application. If you're building a .NET application, target at least version 2.0 of the .NET Compact Framework; you can target 3.5 if you want, but you will need to deploy or install it to the device when you deploy or install your application.
Are there any getting started guides or how-to guides installed with the .NET SDK?
- No, there are not. There is a .chm file where the H15 SDK was installed that describes the classes, enums, and the like available for use in your application.
Where is the .NET SDK DLL?
- Typically where you unzipped the SDK, and from there: \bcrctl\Version xxx\NETCF\bcrctl.net.dll.
How do I soft-reset the device programmatically from my .NET application?
- In C#:
[DllImport("coredll.dll", SetLastError = true)]
static extern int SetSystemPowerState(string psState, int StateFlags, int Options);
const int POWER_FORCE = 4096;
const int POWER_STATE_RESET = 0x00800000;
- Then call
SetSystemPowerState(null, POWER_STATE_RESET, POWER_FORCE);
How do I run my application after a warm reset?
- There are various ways. One way involves editing the registry (see this link), where you can then do a backup of your device, and have it (and your application) persist across cold resets. Another way, which is very simple, is to just place a shortcut to your application in \FlashDisk\Startup\warm\.
I want to build an application for the PC that talks to my device application. How do I do that?
- Check out the Microsoft.SmartDevice namespace. It contains classes that are used both on the device-side application and the PC-side application to communicate over ActiveSync. There is an unmanaged reference as well. If you want to get deeper into host-device communication, check out Microsoft's Remote API (RAPI).
The scan engine seems to behave incorrectly or lose settings when I attempt to scan in my application, immediately after the device wakes up from a suspend state. What gives?
- Check out the IsSysBusy() function. It returns a boolean, depending on whether or not the barcode engine is currently undergoing its reinitialization process. Attempts to scan while this is happening can essentially crash the scan engine, so waiting until IsSysBusy() returns false before your application directs the scanner to scan should alleviate the problem.
OS Release Log
- 5.2.3
- Updated the installed .NET Framework on the device from 2.0 to 3.5.
- 5.1.3
- Fixed a problem with display flicker on startup.
- New Bootloader, 2.2, is required to use this version(or newer) of the OS.
- 4.9.3
- Added XMLHttpRequests to H15 OS
- 4.8.3
- Fixed: Can't read QR code and some other 2D symbologies after suspend / resume
- 4.7.3
- Integrated updated driver for Barcode Reader
- 4.6.3
- Added PCL printer driver.
- Added RDP Audio Playback Redirection.
- 4.5.3
- Update Summit Wi-Fi utility to latest one (2.2.24)
- 4.4.3
- Fixes a problem with the scan engine becoming unusable or losing settings if a scan is attempted directly after waking up.
- Provides support for a new function in version 1.0.3 of the .NET SDK, IsSysBusy(). This function is designed to be called in a user application before attempting a barcode scan, in order to determine if the scan engine is ready for scanning.
- 4.3.3
- Removed deprecated code so that it cannot be used accidentally.
- 4.2.3
- Add Storage Manager component
- 4.1.3
- Fixed: dot character does not work in remote desktop applications
- Fixed: Wrong information when calling SystemInfo.SerialNumber property after a reset
- Fixed: Function keys do not always work
- 4.0.3
Links