HID Mouse Solution
Cerulink designed A low-power, battery-efficient, wireless optical
sensor HID Bluetooth mouse compatible with Microsoft Windows XP
SP1 Bluetooth stack.
Use Case Scenarios
The following scenarios describe the typical user experience when
using the Bluetooth HID device with a Microsoft Windows Bluetooth
host.
Device Initialization
- The device always initializes in deep suspend mode
- When the “Connect” button is pressed on the device,
the device wakes up and it makes itself temporarily discoverable.
Initial Connection Between Host And HID Device
- The user should press the “Connect” button on HID
device to make it discoverable
- Using the Microsoft XP stack, the user should inquire for HID
device
- Once found, the user should attempt to connect to the device
- As part of the connection process, Microsoft XP may ask for
a PIN number
- If needed, the user should enter the PIN number for their device
to complete a connection
- Microsoft XP will install all necessary drivers from this point
- The HID device must no longer be discoverable by other Bluetooth
devices
Device Sleep.
- After a period of 30 seconds, the HID device should go into
a power-down mode, in which the wireless connection is maintained
- Either the Host or the device may initiate a wake-up procedure
from this sleep mode
Device Suspend
- Following a period of 60 seconds of inactivity, the HID device
should go into a deep suspend state
- The Bluetooth wireless connection is not maintained in this
suspend mode
- Only the device may initiate a wake-up procedure via a button
press or movement
- The device should attempt re-connection to the previous Host
as part of the wake-up process
- No PIN number is required from the user for the re-connection
process
Pairing With A New Host
- The user should press the “Connect” button to make
the device discoverable
- The device should un-pair the device and close any existing
connections
- There should be no noticeable difference to the end user in
pairing with a Host, even if a previous pairing exists
Creating Bluetooth HID compatible mouse
device
Milestone: One suggests a possible method of creating a Bluetooth
Human Interface Device (HID) compatible mouse device quickly, without
yet creating a profile to support HID. All requests from the PC
required for basic Bluetooth HID operation to be handled. For the
initial milestone, it should be sufficient for the board/device
to handle the following:
- Respond to PC inquiries with information stating that the board
is an HID device
- Allow a PC using the Microsoft HID stack to connect to the
board
- Respond to necessary HID requests from PC, e.g., GET_REPORT
- Send mouse data from a serial mouse to the PC
Milestone One would signify:
- The class of device and service databases in the board are
correctly handled
- A connection can be completed using the Microsoft HID stack/drivers
- Basic mouse functionality can be sent from the board to the
PC correctly
|
HID profile implementation
This milestone covers the necessity of developing the HID operation
as a profile.
A testing plan to validate the above message types should be developed
and implemented. Following verification, this functionality should
be encapsulated into an application-independent profile with an
API following the specifications enumerated in the Bluetooth HID
specification.
Integration and testing
This milestone focuses on integration of all milestones into a single
source code base. After integration, the final result should be
a functional, wireless, power-efficient, application-independent
Bluetooth HID profile.
Application-specific code for mouse is developed handling the specific
SOC. This is integrated with the HID profile and a full HID-compatible
device is obtained.
|