Bluetooth® low energy CC2541 Advanced
Remote Control Kit
User's Guide
Literature Number: SWRU343A
April 2013 – Revised June 2015
Contents
1
References .......................................................................................................................... 5
1.1
1.2
1.3
2
Introduction ......................................................................................................................... 6
2.1
2.2
3
6.4
Advertising and Connecting ...............................................................................................
Using the Keyboard .......................................................................................................
Controlling the Media Settings with Consumer Control Buttons .....................................................
Using the Mouse ...........................................................................................................
Removing Bond Information ..............................................................................................
Calibrating ...................................................................................................................
17
17
17
18
18
18
Hardware Setup for Advanced Remote .................................................................................
Hardware Setup for USB Dongle.........................................................................................
Using SmartRF Flash Programmer Software ...........................................................................
6.3.1 Reading or Writing a Hex File to the CC2540/41 .............................................................
6.3.2 Reading or Writing the CC2540/41 Device Address..........................................................
Using IAR for Debugging and Programming ...........................................................................
6.4.1 Advance Remote Project Files ..................................................................................
6.4.2 HID Dongle Project Files .........................................................................................
19
20
22
23
24
24
25
25
Software Overview.............................................................................................................. 26
7.1
2
Adding the Advanced Remote Control .................................................................................. 12
Remove Device ............................................................................................................. 15
Programming and Debugging the CC2541 Advanced Remote .................................................. 19
6.1
6.2
6.3
7
Plugging the Dongle into a Computer ..................................................................................... 9
Connecting to the Advanced Remote Control ........................................................................... 9
3.2.1 Pairing for the First Time .......................................................................................... 9
3.2.2 Connecting Devices Already Bonded ........................................................................... 11
3.2.3 Disconnecting ...................................................................................................... 11
3.2.4 Removing Long Term Bond-Data ............................................................................... 11
3.2.5 LED States ......................................................................................................... 11
3.2.6 Button Actions ..................................................................................................... 11
Using the Advanced Remote Control .................................................................................... 17
5.1
5.2
5.3
5.4
5.5
5.6
6
6
7
7
8
8
Connecting the Advanced Remote Control to Windows 8........................................................ 12
4.1
4.2
5
Kit Contents Overview ......................................................................................................
System Requirements .......................................................................................................
2.2.1 Dongle ................................................................................................................
2.2.2 Windows 8 ...........................................................................................................
2.2.3 Debugging ...........................................................................................................
Using the CC2540 USB Dongle .............................................................................................. 9
3.1
3.2
4
Printed Copy Included in the Box with CC2541-ARC ................................................................... 5
Included with TI BLE-Stack Software Installer ........................................................................... 5
Available from Bluetooth Special Interest Group (SIG) ................................................................. 5
HID over GATT .............................................................................................................
7.1.1 BLE HID Terminology.............................................................................................
7.1.2 GATT Services ....................................................................................................
7.1.3 Data Flow...........................................................................................................
7.1.4 HID Report Overview .............................................................................................
Contents
26
26
26
27
27
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
www.ti.com
Revision History .......................................................................................................................... 28
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Contents
Copyright © 2013–2015, Texas Instruments Incorporated
3
www.ti.com
List of Figures
2-1.
Hardware Included with the CC2541ARC ................................................................................ 7
2-2.
Bluetooth Devices as seen in Windows Device Manager .............................................................. 8
3-1.
CC2540 USB Dongle Viewed in the Device Manager .................................................................. 9
3-2.
SW1 - Clear Bonding Information SW2 - Scan and Pair With Advanced Remote Control
10
4-1.
Remove Bluetooth Device
16
5-1.
6-1.
6-2.
6-3.
7-1.
......................
................................................................................................
Advanced Remote Control ................................................................................................
Advanced Remote Programming Setup .................................................................................
CC2540 USB Dongle Connected to CC Debugger ....................................................................
Flash Programmer .........................................................................................................
Data Flow....................................................................................................................
17
19
21
23
27
List of Tables
4
3-1.
LED States .................................................................................................................. 11
3-2.
Button Actions .............................................................................................................. 11
6-1.
Hex Image Files ............................................................................................................ 24
6-2.
Advanced Remote Kit Software Projects................................................................................ 24
6-3.
File Components of the Advance Remote Control Project
6-4.
File Components of the HID Dongle Project ............................................................................ 25
7-1.
BLE HID Terminology...................................................................................................... 26
7-2.
HID Profile Services........................................................................................................ 26
7-3.
HID Reports ................................................................................................................. 27
...........................................................
List of Figures
25
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
Chapter 1
SWRU343A – April 2013 – Revised June 2015
References
The following references provide additional information on the CC2540, CC2541, the TI Bluetooth® low
energy stack (BLE-Stack™), the BLE HID over GATT profile, the HID Service, and the Bluetooth Core
Specification. Path and file references in this document assume you have installed the BLE-Stack
development kit software to the default path C:\Texas Instruments\BLE-CC254x-1.4.x\. See the release
notes in the installed BLE-Stack version for the latest updates.
1.1
Printed Copy Included in the Box with CC2541-ARC
•
1.2
CC2541 Advanced Remote Control Kit Quick Start Guide (SWRU341)
Included with TI BLE-Stack Software Installer
The software installer is available for download at www.ti.com/ble-stack
• TI Bluetooth low energy Software Developer’s Guide (SWRU271)
C:\Texas Instruments\BLE-CC254x-1.4.x\Documents\TI_BLE_Software_Developer's_Guide.pdf
• TI BLE Vendor Specific HCI Reference Guide
C:\Texas Instruments\BLE-CC254x-1.4.x\Documents\TI_BLE_Vendor_Specific_HCI_Guide.pdf
• TI BLE Sample Applications Guide (SWRU297)
C:\Texas Instruments\BLE-CC254x-1.4.x\Documents\TI_BLE_Sample_Applications_Guide.pdf
1.3
Available from Bluetooth Special Interest Group (SIG)
•
•
•
HID over GATT profile, Version 1.0 (27-Dec-2011)
https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=245141
HID Service, Version 1.0 (27-Dec-2011)
https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=245140
Specification of the Bluetooth System, Covered Core Package version: 4.0 (30-June-2010)
https://www.bluetooth.org/technical/specifications/adopted.htm
BLE-Stack, SmartRF are trademarks of Texas Instruments.
OSX is a registered trademark of Apple Inc..
Bluetooth is a registered trademark of Bluetooth SIG.
Linux is a registered trademark of Linus Torvaldis.
Windows, Windows 8, Windows 7 are registered trademarks of Microsoft Inc..
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
References
Copyright © 2013–2015, Texas Instruments Incorporated
5
Chapter 2
SWRU343A – April 2013 – Revised June 2015
Introduction
Thank you for purchasing a TI Bluetooth low energy (BLE) Advanced Remote Control Kit. The purpose of
this document is to provide you an overview of the hardware and software included in the CC2541
Advanced Remote Control Kit (CC2541ARC).
Use the information in this guide begin with the kit. For more detailed information on BLE technology and
the TI BLE protocol stack, consult the TI Bluetooth low energy Software Developer’s Guide (SWRU271).
For more information on the HID over GATT profile (Human Interface Device over Generic Attribute
Profile), or HOGP, which is the BLE profile used to transfer HID Reports such as keyboard and mouse
keys, see the HID over GATT profile and HID Service specifications available from the Bluetooth SIG
website and listed in Section 1.3.
2.1
Kit Contents Overview
The kit contains the following hardware components, including cables:
The CC2541 Advanced Remote Control is designed to act as an HID peripheral device (BLE slave),
operating according to the specifications laid out in the HID over GATT profile. The remote comes preassembled in plastic casing with rubber buttons, battery enclosure, and a hole to access the programming
header.
The advanced remote control operates on three 1.5-V alkaline AAA (LR03) batteries. Available peripheral
hardware on the board includes a buzzer, gyroscope, accelerometer, and shift registers for key scanning.
The PCB design also includes a 3.3-V LDO (TPS78330) to lower the voltage from a maximum 4.5 V to 3.3
V for use by the integrated circuits.
The CC2540 USB Dongle can emulate any Bluetooth low energy behavior, but usually acts as a central
device (BLE master) and HID host. In this kit, the dongle comes pre-loaded with firmware that acts in a
central role and as a HID service client towards the advanced remote control, and sends received input
data to emulated human interface devices (USB HID) on a connected Windows®, Linux®, or OSX
®computer.
The CC Debugger flashes the software onto both the USB dongle and the advanced remote control. The
debugger can also debug software using IAR embedded workbench.
6
Introduction
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
System Requirements
www.ti.com
Figure 2-1. Hardware Included with the CC2541ARC
The RF boards in this kit are FCC- and IC-certified, and tested to comply with ETSI/R&TTE over
temperature from 0 to 35°C.
CAUTION
The kits include a non-rechargeable lithium battery. Always make sure the
battery is removed from the CC2540/41 keyfob when it is connected to an
external power source. Do not apply voltage less than 3.6 V. Dispose of the
battery properly, and keep out of the reach of children. If swallowed, contact a
physician immediately.
CAUTION
The kits contain ESD sensitive components. Handle with care to prevent
permanent damage.
2.2
System Requirements
2.2.1 Dongle
To use the CC2540 USB dongle as a bridge between the advanced remote control and a host computer,
you only need USB HID support in the operating system.
For computers without Bluetooth low energy-capable hardware and native support for the HID over GATT
profile in the operating system, use the dongle because it hides the wireless aspect from the operating
system.
Ensure the PC has a free USB port. An additional free USB port is required to use the CC debugger and
the USB dongle simultaneously.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Introduction
Copyright © 2013–2015, Texas Instruments Incorporated
7
System Requirements
www.ti.com
2.2.2 Windows 8
Computers running Windows 8® require a Bluetooth 4.0 dual mode dongle or internal hardware, with
hardware drivers that support Bluetooth low energy. You can verify that these are supported in the
Windows device manager by checking that for a reference to Bluetooth LE Enumerator.
Figure 2-2. Bluetooth Devices as seen in Windows Device Manager
2.2.3 Debugging
You must have the IAR Embedded Workbench for 8051 development environment to make changes to
the keyfob software. You can find more information on IAR in the TI Bluetooth low energy Software
Developer’s Guide (SWRU271) .
8
Introduction
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
Chapter 3
SWRU343A – April 2013 – Revised June 2015
Using the CC2540 USB Dongle
This section describes how the USB dongle appears to a computer running Windows 7®, how it operates,
and how to use the buttons on the dongle.
3.1
Plugging the Dongle into a Computer
As the CC2540 USB dongle comes pre-programmed with emulated HID USB endpoints. The dongle
works out of the box free of extra drivers. After the USB dongle has been discovered and configured by
Windows, several USB HID devices appear in the device manager.
Figure 3-1. CC2540 USB Dongle Viewed in the Device Manager
Figure 3-1 shows the USB dongle enumerated as a USB composite device, with four interfaces
representing the different capabilities of the advanced remote control and USB dongle:
• HID Keyboard Device
Number keys, arrow keys, OK, and Back on the advanced remote
• HID-compliant consumer control device
Volume buttons, play, pause, rewind, and similar consumer device control buttons
• HID-compliant mouse
Movement data sent from the Advanced Remote when the mouse is activated
• HID-compliant device
Control point for communication between the USB dongle firmware and applications running on the
computer. Can be used for pairing, pin codes, feedback, resetting, and so forth. Not in use by the preprogrammed USB dongle firmware.
3.2
Connecting to the Advanced Remote Control
3.2.1 Pairing for the First Time
When the devices are programmed, they lose stored pairing information. The dongle powers up and
shows a solid red LED.
1. To initiate a connection to an ARC, press the SW2 button on the HID dongle.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Using the CC2540 USB Dongle
Copyright © 2013–2015, Texas Instruments Incorporated
9
Connecting to the Advanced Remote Control
NOTE:
www.ti.com
This action causes the HID dongle to scan for an ARC for 5 seconds. While scanning, the
red LED will blink once a second.
2. Press any key on the ARC to start advertising.
NOTE: When a suitable advertisement is found, the CC2540 USB dongle connects, pairs, and
exchanges long-term bonding information with the remote, performs discovery of the
services and characteristics used by the HID over GATT profile, and enables GATT
notifications to be sent for button presses and mouse movements from the advanced remote.
The green LED lights up when the connection is alive, and the red LED blinks when data is
received. The connection is terminated to save power after the advanced remote has been
idle for 60 s.
Figure 3-2. SW1 - Clear Bonding Information
SW2 - Scan and Pair With Advanced Remote Control
Sequence:
10
Using the CC2540 USB Dongle
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
Connecting to the Advanced Remote Control
www.ti.com
1. Press SW2 to start scanning for the remote. (A blinking red LED indicates scanning.)
2. Press any key on remote to start advertising.
3. Verify a green LED, which indicates a successful connection.
3.2.2 Connecting Devices Already Bonded
If an HID dongle and an advanced remote previously paired and stored bonding data, then the HID dongle
will continuously scan for this specific advanced remote. When in this continuous scanning mode, the HID
dongle will blink the green LED once per second.
An HID dongle only stores pairing information for one remote, so other remotes will be unable to connect
to the HID dongle until the bonding info is cleared.
3.2.3 Disconnecting
Pressing SW2 on the dongle disconnects it from the advanced remote control and returns to scanning,
while retaining long-term bonding information.
Because the advanced remote and the USB dongle are bonded and notifications are enabled on the
remote, activating the advanced remote control causes it to start advertising, reconnect, and immediately
transmit the button presses recorded while disconnected.
3.2.4 Removing Long Term Bond-Data
Pressing SW1 (see Figure 3-2) while not connected erases the USB dongle's record of the long-term
bonding data stored for the advanced remote in the flash memory of the USB dongle.
This action does not affect the data stored on the advanced remote. See Chapter 5 for information on
erasing this data.
3.2.5 LED States
Table 3-1. LED States
LED Action
HID Dongle State
Solid Red
Idle
Blinking Red
Scanning for any BLE advanced remote
Solid Green
Connected
Blinking Green
Scanning for previously bonded remote
3.2.6 Button Actions
Table 3-2. Button Actions
Button
State
Action
SW1
Idle
Erase bonding info
SW2
Idle
Start scanning
SW2
Connected
Disconnect
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Using the CC2540 USB Dongle
Copyright © 2013–2015, Texas Instruments Incorporated
11
Chapter 4
SWRU343A – April 2013 – Revised June 2015
Connecting the Advanced Remote Control to Windows 8
When the Bluetooth low energy-capable hardware is installed in a Windows 8 computer and updated
drivers are installed (refer to Section 2.2.2), discover and use the advanced remote control by following
the steps below.
4.1
Adding the Advanced Remote Control
1. Click Settings.
NOTE: A new widget appears, allowing you to click on Change PC Settings.
2. Click Change PC settings.
12
Connecting the Advanced Remote Control to Windows 8
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Adding the Advanced Remote Control
www.ti.com
3. In the PC Settings window, choose PC and devices.
4. In PC and devices, select Bluetooth.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Connecting the Advanced Remote Control to Windows 8
Copyright © 2013–2015, Texas Instruments Incorporated
13
Adding the Advanced Remote Control
www.ti.com
5. Ensure that the Bluetooth is set to ON.
NOTE: The PC will search for Bluetooth devices.
6. Press any button on the remote to start advertising.
NOTE: The HID AdvRemote will appear in the device list.
7. Press the icon.
8. Press the Pair to pair the remote to the PC.
NOTE: A window opens with a passcode.
9. Input the passcode using the numeric buttons on the remote.
10. Press OK .
14
Connecting the Advanced Remote Control to Windows 8
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Remove Device
www.ti.com
NOTE: The PC and remote will start the pairing process. When finished, the remote appears as a
connected device in the device list.
NOTE: The remote stops advertising after 30 seconds. If the remote does not show up in the list,
press any button to begin advertising again.
4.2
Remove Device
To remove the remote from Windows and to delete the bond data, do the following:
1. Click the device.
2. Click Remove device
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Connecting the Advanced Remote Control to Windows 8
Copyright © 2013–2015, Texas Instruments Incorporated
15
Remove Device
www.ti.com
Figure 4-1. Remove Bluetooth Device
16
Connecting the Advanced Remote Control to Windows 8
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Chapter 5
SWRU343A – April 2013 – Revised June 2015
Using the Advanced Remote Control
Figure 5-1. Advanced Remote Control
5.1
Advertising and Connecting
All keys, except the mouse speed and action keys, make the advanced remote advertise and become
discoverable by hosts scanning for HID-capable BLE devices.
5.2
Using the Keyboard
Pressing any number acts as a keyboard input of that number. OK acts as Enter. Back is Backspace.
The four keys surrounding OK act as directional keys.
5.3
Controlling the Media Settings with Consumer Control Buttons
Volume, Mute, Play/Pause, and so forth are consumer control keys that control the media settings on the
computer.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Using the Advanced Remote Control
Copyright © 2013–2015, Texas Instruments Incorporated
17
Using the Mouse
5.4
www.ti.com
Using the Mouse
Holding down the middle mouse button prompts the advanced remote to interpret the movement of the
remote as mouse input, and send this input to the computer.
Double-clicking the middle button locks the mouse function. The left and right buttons act as left and right
mouse buttons.
Pressing AV and –/– decreases and increases mouse speed.
5.5
Removing Bond Information
Pressing the Red action key removes the bonding information stored on the advanced remote. Pairing can
be redone using a passkey entry if applicable. If the remote is in a connection, the connection is dropped,
and the bonding information is erased.
5.6
Calibrating
1. Ensure the mouse function is off and the device is laying on a flat surface.
2. Press the Blue action key to recalibrate the onboard motion sensors.
NOTE: If the advanced remote is not ready for calibration, a high-pitched note sounds.
3. Press the blue key again
NOTE:
18
During calibration, a low-pitched tick sounds for 12 seconds. A high-pitched note indicates
success.
Using the Advanced Remote Control
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
Chapter 6
SWRU343A – April 2013 – Revised June 2015
Programming and Debugging the CC2541 Advanced
Remote
The CC debugger lets you debug using the IAR Embedded Workbench for 8051. The debugger also lets
you read and write hex files to the CC2540/41 flash memory using the SmartRF™ Flash Programmer
software. The hex files are included with the installer. SmartRF Flash Programmer can also change the
IEEE address of the CC2540/41 device. This section details the hardware setup using the CC debugger
and includes information on using SmartRF Flash Programmer. You can find information on using IAR
Embedded Workbench for debugging in the TI Bluetooth low energy Software Developer’s Guide
(SWRU271).
6.1
Hardware Setup for Advanced Remote
The debug port is on the back of the remote.
• Connect the debugger as shown in Figure 6-1.
Figure 6-1. Advanced Remote Programming Setup
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
19
Hardware Setup for USB Dongle
www.ti.com
NOTE: The red stripe (pin 1) should be on the same side as the blue and 3 keys. When connected
properly, the debugger LED shows green after pressing the CC debugger reset button.
Power Savings Tip: Leaving the remote in debug mode causes extra power drain on the battery.
To exit debug mode, do the following:
1. Remove the debugger cable.
2. Power cycle the remote.
6.2
Hardware Setup for USB Dongle
The setup process for flashing the USB dongle is similar to the process of flashing the remote.
1. Connect the CC debugger to the USB dongle as shown in Figure 6-2.
20
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Hardware Setup for USB Dongle
www.ti.com
Figure 6-2. CC2540 USB Dongle Connected to CC Debugger
NOTE: The ribbon cable must be oriented properly, with the red stripe connected to pin 1 as shown
in Figure 6-2. The USB dongle also must be powered to program, and should be placed in a
USB port before programming with CC debugger.
2. Connect the CC debugger to the PC USB port.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
21
Using SmartRF Flash Programmer Software
www.ti.com
NOTE: The status indicator LED on the CC debugger should turn on. If the LED is red, no CC2540
device is detected. If the LED is green, a CC2540 device has been detected.
If the USB dongle is connected and the LED is red, pressing reset on the CC debugger. This
resets the debugger and re-checks for a CC2540 device. If the LED still does not turn green,
re-check that all cables are securely connected.
When the CC debugger status LED is showing green, you can use IAR to debug or to read or write a hex
file to and from the USB dongle.
6.3
Using SmartRF Flash Programmer Software
Use the instructions with the latest version of SmartRF Flash Programmer (version 1.12.6), available at
the following URL: http://www.ti.com/tool/flash-programmer.
To
1.
2.
3.
4.
5.
start the application, do the following:
Navigate to Start.
Navigate to All Programs.
Navigate to Texas Instruments.
Navigate to SmartRF Flash Programmer.
Navigate to SmartRF Flash Programmer.
Figure 6-3 shows the program start-up screen.
22
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Using SmartRF Flash Programmer Software
www.ti.com
Figure 6-3. Flash Programmer
NOTE: If you are prompted to update the EB firmware (CC debugger), follow the instructions to
update the program.
6.3.1 Reading or Writing a Hex File to the CC2540/41
To read or write a hex file to the CC2540/41, do the following:
1. Select the System-on-Chip tab (default).
NOTE: The connected CC2540/41 should be detected and show up in the list of devices.
2. Under Flash image, select a hex file to write to the device.
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
23
Using SmartRF Flash Programmer Software
NOTE:
www.ti.com
If reading from the CC2540/41, under Flash image enter the path and filename for the hex
file.
3. To write to the CC2540/41 under Actions, select Erase, program and verify.
4. To read from the CC2540/41 under Actions, select Read flash into hex-file.
5. To begin the read or write, click Perform actions.
NOTE:
If the action completes successfully, the progress bar at the bottom of the window should fill
up and you will see either one of the following two messages: CC254X - IDXXXX: Erase,
program and verify OK or CC254X - IDXXXX: Flash read OK.
There are two pre-built hex image files for the advanced remote kit in the Accessories folder of the BLEStack installation path.
Table 6-1. Hex Image Files
Project
Directory
HIDAdvRemote
\Accessories\HexFiles\CC2541_ARC_HIDAdvRemote.hex
HIDAdvRemoteDongle
\Accessories\HexFiles\CC2540_USBdongle_HIDAdvRemoteDongle.hex
6.3.2 Reading or Writing the CC2540/41 Device Address
Every CC2540/41 device comes pre-programmed with a unique 48-bit IEEE address. This address is the
primary address of the device and is unable be changed. You can set a secondary address on a device to
override the primary address upon powerup. You can use flash programmer to read the primary address
and read or write the secondary address. See the TI Bluetooth low energy Software Developer’s Guide
(SWRU271) for more information.
6.4
Using IAR for Debugging and Programming
IAR is the compiler and IDE to develop the advanced remote and HID dongle. See the TI Bluetooth Low
Energy Software Developer’s Guide (SWRU271) for more information on using IAR,. This section provides
a high-level overview of advanced remote kit software projects. There are two projects for the advanced
remote kit.
Table 6-2. Advanced Remote Kit Software Projects
24
Project
Directory
HIDAdvRemote
\Projects\ble\HIDAdvRemote
HIDAdvRemoteDongle
\Projects\ble\HIDAdvRemoteDongle
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Using IAR for Debugging and Programming
www.ti.com
6.4.1 Advance Remote Project Files
Table 6-3 shows the important file components of the advance remote control project. After opening the
project in IAR, these are visble in the left hand project explorer.
Table 6-3. File Components of the Advance Remote Control Project
File
Description
hidAdvRemote.c
Top level application. Initialization of remote hardware, connection settings, GATT, and
top level task handlers. Keys and gyro/accelerometer callbacks are handled here.
battservice.c
Service for battery. Support characteristics for battery.
devinfoservice.c
Service for device information. Support characteristics such as manufacturer, serial
number, and so forth.
hidDev.c
Service for HID. Support HID reads, writes, queuing reports, and state machine.
hidkbmservice.c
Service for keyboard, mouse, and consumer control reports.
hid_uuid.h
List of UUIDs for supported HID reports.
Scanparamsservice.c
Service for scan parameters.
6.4.2 HID Dongle Project Files
Table 6-4 shows the important file components of the HID dongle project.
Table 6-4. File Components of the HID Dongle Project
File
Description
hidApp.c
Top level application. Initialization of dongle hardware, service discovery, and connection
state machines.
Usb_hid_reports.c
HID to USB report handling.
hid_uuid.h
List of UUIDs for supported HID reports
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Programming and Debugging the CC2541 Advanced Remote
Copyright © 2013–2015, Texas Instruments Incorporated
25
Chapter 7
SWRU343A – April 2013 – Revised June 2015
Software Overview
7.1
HID over GATT
The software supports the HID over GATT profile specification, which was approved by the BT SIG in
December 2011. The specification is available at bluetooth.org. Microsoft Windows 8 supports HID over
GATT.
7.1.1 BLE HID Terminology
Table 7-1. BLE HID Terminology
HID Host
The target machine used by the user (such as laptop, tablet, phone, and so
forth).
HID Device
The device used by the user to interact with the host (such as keyboard,
mouse, remote control, game controller, and so forth).
HID Report
A data message sent between the host and device.
Input reports go from device-to-host, such as a mouse movement or keyboard
press.
Output reports go from host-to-device, such as a PC changing the caps lock
LED on a keyboard.
HID Report Descriptor
A data structure that the device sends to the host which describes the
capabilities of the HID device, including the types, sizes, and directions of the
reports supported.
7.1.2 GATT Services
Table 7-2 shows the services defined in the HID profile specification as either mandatory or optional. The
software included with the advance remote kit includes all of these services.
Table 7-2. HID Profile Services
26
Service
Requirement
Supported
HID Service
Mandatory
Yes
Battery Service
Mandatory
Yes
Device Information Service
Mandatory
Yes
Scan Parameter Service
Optional
Yes
Software Overview
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
HID over GATT
www.ti.com
7.1.3 Data Flow
Figure 7-1 shows how HID reports are sent to a central device.
Figure 7-1. Data Flow
7.1.4 HID Report Overview
Table 7-3 shows the HID reports supported in the advanced remote control.
Table 7-3. HID Reports
Type
Bytes
Data
Function Ref.
hidMouseSendReport
Mouse
4
Buttons, X, Y, wheel
Consumer Control
2
Bitmap command
hidCCSendReport
Keyboard
8
Modifier, reserved, key code 1.6
hidKeyboardSendReport
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Software Overview
Copyright © 2013–2015, Texas Instruments Incorporated
27
Revision History
www.ti.com
Revision History
Changes from Original (March 2013) to A Revision ....................................................................................................... Page
•
28
Updated Windows 8.x Pairing Procedure. Verified with BLE-Stack 1.4.1. ....................................................... 10
Revision History
SWRU343A – April 2013 – Revised June 2015
Submit Documentation Feedback
Copyright © 2013–2015, Texas Instruments Incorporated
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other
changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest
issue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and
complete. All semiconductor products (also referred to herein as “components”) are sold subject to TI’s terms and conditions of sale
supplied at the time of order acknowledgment.
TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s terms
and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary
to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily
performed.
TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products and
applications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provide
adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or
other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information
published by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty or
endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the
third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alteration
and is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altered
documentation. Information of third parties may be subject to additional restrictions.
Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service
voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice.
TI is not responsible or liable for any such statements.
Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements
concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support
that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which
anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause
harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use
of any TI components in safety-critical applications.
In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is to
help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and
requirements. Nonetheless, such components are subject to these terms.
No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties
have executed a special agreement specifically governing such use.
Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use in
military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components
which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and
regulatory requirements in connection with such use.
TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use of
non-designated products, TI will not be responsible for any failure to meet ISO/TS16949.
Products
Applications
Audio
www.ti.com/audio
Automotive and Transportation
www.ti.com/automotive
Amplifiers
amplifier.ti.com
Communications and Telecom
www.ti.com/communications
Data Converters
dataconverter.ti.com
Computers and Peripherals
www.ti.com/computers
DLP® Products
www.dlp.com
Consumer Electronics
www.ti.com/consumer-apps
DSP
dsp.ti.com
Energy and Lighting
www.ti.com/energy
Clocks and Timers
www.ti.com/clocks
Industrial
www.ti.com/industrial
Interface
interface.ti.com
Medical
www.ti.com/medical
Logic
logic.ti.com
Security
www.ti.com/security
Power Mgmt
power.ti.com
Space, Avionics and Defense
www.ti.com/space-avionics-defense
Microcontrollers
microcontroller.ti.com
Video and Imaging
www.ti.com/video
RFID
www.ti-rfid.com
OMAP Applications Processors
www.ti.com/omap
TI E2E Community
e2e.ti.com
Wireless Connectivity
www.ti.com/wirelessconnectivity
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2015, Texas Instruments Incorporated