Tap BLE API Documentation

Similar documents
BLUETOOTH MOVEMENT AND SHOCK LOGGER API DOCUMENTATION. Version 2.0.1

What s New in Core Bluetooth

KST3300 Firmware Specification

ENVIRONMENTAL SENSING PROFILE

Terminal I/O Profile. Client Implementation Guide. Release r02

How to test the USBLE232D and USBLE232DEXA Serial Bluetooth Smart Low Energy Adapter

PSoC Academy: How to Create a PSoC BLE Android App Lesson 3: Configure the BLE Component 1

PM0257. BlueNRG-1, BlueNRG-2 BLE stack v2.x programming guidelines. Programming manual. Introduction

EIGRP Dynamic Metric Calculations

ATSAMB11 BluSDK SMART Example Profiles Application User's Guide

Internet of Things Bill Siever. New Applications. Needs. Wearables. Embedded Smarts. Simple to Setup. Networking w/ Long Battery Life (Low Power)

u-blox Low Energy Serial Port Service

Introduction to Bluetooth Low Energy

PSoC Academy: How to Create a PSoC BLE ios App Lesson 10: BLE Robot App 1. 00:00:08 Hello, I m Alan Hawse. Welcome to Cypress Academy.

5/5/2016 Bluetooth Developer Studio Level 2 Profile Report PROFILE SERVICES. Generic Access - CHARACTERISTICS Device Name. Profile Name BBC MICROBIT

Wireless Sensor Networks BLUETOOTH LOW ENERGY. Flavia Martelli

Bluetooth LE 4.0 and 4.1 (BLE)

Performance Evaluation of Bluetooth Low Energy Communication

Beetle: Many-to-many communication in Bluetooth LE. Amit Levy, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein

SimpleLink Bluetooth Low Energy CC2640 Wireless MCU. Simple Network Processor API Guide For BLE-Stack Version: 2.1.0

LMU Bluetooth Chipset Application Note

Bluetooth Low Energy Protocol Stack

Bluetooth Low Energy Protocol Stack

CISS Communication Protocol Bluetooth LE

Blumoo API. Message Format Header Parcel Tail 2 Variable 4. No ACK 0 requested 1 ACK requested 10 ACK response Undefined, not

Multi-link support for up to four simultaneous connections in any combination of roles

BLE Command Line Interface Document

Beetle: Operating System Support for the Internet of Things

TH100A User Manual 1 Updated April 30, 2018

kcenergy User Guide Introduction Hardware

Application Note: xpico BLE Application Note Irvine Center Drive Suite 100 Irvine, CA USA

TECHNICAL NOTE: ENGAGE Firmware Update Options

Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1

QPP Proprietary Profile Guide

Network Processor GATT

TEMPERATURE, HUMIDITY & DEW POINT SENSOR AND LOGGER API AND COMMAND BOOKLET

Energy profiler and Network analyzer Training Lab manual for

+ (5~27 VDC) GND. Bluetooth V4.2 BLE RS-422/485 Serial Adapter. Model: BLE-485C. 1. Package content: BLE RS-422/485 adapter

CISS - Connected Industrial Sensor Solution

Digital Design W/S Arduino 101 Bluetooth Interfacing

Designed for ios (iphone, ipad, ipod touch)

Wolfee Presenter+ User Guide

nrf Connect Bluetooth low energy

kcenergy User Guide DRAFT EDITION Introduction Serial Data Communications Hardware Supported Bluetooth Profiles

BLUE RANGE USER GUIDE. Low Energy

+ (5~27 VDC) GND. Bluetooth V4.1 BLE RS-232 Serial Adapter. Model: BLE-232B. 1. Package content: BLE RS-232 adapter

Bluetooth Low Energy in C++ for nrfx Microcontrollers

HOTWatch Bluetooth Connection: iphone

The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade

INSTEON Hidden Door Sensor

SMART Technologies. Introducing bluetooth low energy and ibeacon

Energy Efficient Mobile Compu4ng Building low power sensing devices with Bluetooth low energy. Simo Veikkolainen Nokia May 2014

+ (5~27 VDC) GND. Bluetooth V4.2 BLE RS-232 Serial Adapter. Model: BLE-232D-E. 1. Package content: BLE RS-232 adapter

Getting started with STEVAL-IDB007V1 and STEVAL-IDB008V1 evaluation boards

2 Unifying receiver (DJ) Software Interface

S110 nrf SoftDevice Specification v1.1. Bluetooth low energy. Key Features. Applications

Embit Binary Interface - IEEE Specific Documentation. embit s.r.l.

Inside Bluetooth Low Energy

When is Bluetooth not Bluetooth?

TH100A User Manual 1 Updated October 12, 2018

DEVELOPMENT TEAM: Jeremiah Prousalis: Project Lead Firmware Lead Bluetooth Module Interfacing

Silicon Valley LAB Intern Report. Hyunjung KIM Youngsong KIM

Bluetooth Low Energy CC2540/41 Mini Development Kit User s Guide

AN4869 Application note

BlueMod+S42/Central Software User Guide

ESP32 BT&BLE Dual-mode Bluetooth. Version 1.0 Copyright 2018

Bluetooth low energy technology Bluegiga Technologies

Controlling electrical home appliances, using Bluetooth Smart Technology (October 2015) Pedro José Vieira da Silva

nblue TM BR-MUSB-LE4.0-S2A (CC2540)

ClickToPhone application note Call Answering/Call Ending

USER GUIDE. SAML21 Wearable Demo (ATULPC-DEMO) ATSAML21G18B. Preface

Click to edit Master title style Buzzing Smart Devices

LOW ENERGY WIRELESS TEMPERATURE SENSOR DATALOGGER USE AND SPECIFICATIONS

UM2361. Getting started with the ST BlueNRG-Mesh ios application. User manual. Introduction

Application Note v1.2

INGICS. ibs01 Payload Format. Jul, 2016 rev. 3

BT121 Bluetooth Smart Ready Module. July 2016

Q: Why do my multiple devices alert at different times when I separate from them?

How to Deploy BlueZ v5.50 on Raspberry Pi 3 and Use It Part 2 Provisioning

Serial Bluetooth Smart Adapter - RS232, Low Energy 4.1 BLE Datasheet and Quick Reference for BLE232V2

Microsoft Remote Desktop setup for OSX, ios and Android devices

Technical Specification. Third Party Control Protocol. AV Revolution

Baracoda - September 2007

Serial Bluetooth Smart Adapter - RS232, Low Energy 4.2 BLE Datasheet and Quick Reference for USBLE232DEXA

AT14973: Wearable Demo Reference Design. Preface SAM L21 USER GUIDE

CQ Beacon Android SDK V2.0.1

Bluetooth Low Energy (BLE) Transparent Transmission Controller Programming User Guide BC7601/BC7602/BC32F7611

HID Mobile Access Configuration Application User Guide

Bluetooth Low Energy CC2540 Mini Development Kit User s Guide

LORD MANUAL. Wireless Sensor Networks LXRS Data Communications Protocol

Logitech hidpp 1.0 excerpt for public release

HCOMM Reference Manual

Use of ISP1507-AL Evaluation Boards

BLE Wireless Gamepad V2 SKU: DFR0304

Digital Design W/S Arduino 101 Bluetooth Interfacing

Controlling Windows with gestures

Qblinks Qmote Maker s Module Developer Guide

Lifespan Guide for installing and using Citrix Receiver on your Mobile Device

Terminal I/O Profile Client Implementation Guide

Transcription:

Tap BLE API Documentation Version 1.0.1 Table of contents Tap BLE API Documentation 1 Table of contents 1 General description 2 Device discovery 2 Scanning 2 Connecting & pairing 2 Usage of API 2 Types of API 3 Battery level 3 Device information 3 Tap proprietary 3 Tap proprietary protocol 4 General description 4 Controller mode 4 Tap data 5

General description Bluetooth Low Energy (or BLE) is a new standard that emphasizes connectivity with low power devices. The Tap is a BLE v4.2 device, backwards compatible with BLE v4.0, in peripheral mode. Every BLE v4.0 central device can connect to the Tap device. Usage of the keyboard and mouse is done over the standard HID over GATT interface, which most of mainstream devices, such as Windows 8.1/10 laptops or iphones since 4S, support. Custom protocol can be used to interact with the Tap without using the HID interface for any kind of application. Device discovery Scanning The Tap is advertising when it's not connected. The advertised data contains a 128-bit custom UUID to distinguish it from other BLE devices. The device name itself is not unique to the device as it can be modified by the user. The 128-bit UUID is: C3FF0001-1D8B-40FD-A56F-C7BD5D0F3370 Connecting & pairing The device is connectable as long as it's not already connected to a peer device. For proper usage with the Tap, the Tap must be also paired (bonded) and not just connected. To detect a Tap in a paired devices list, use the Tap UUID for filtering. If it's currently connected, it must be disconnected from the active peer. Disconnected on the peer can be done by turning off the Bluetooth connectivity or by hitting a disconnect button, if applicable. Usage of API Tap is communicating over GATT for information exchange between the Tap and the central device.

The Tap is a GATT server and is exposing several standard services and 2 custom ones. Any central device may communicate with the API after connection. For certain operations, higher ATT MTU (Maximum transmission unit) of 185 is required and expected from the central to support. Which operation require that are TBA. Types of API Battery level A standard Battery Service is available, according to BLE specifications. Any bonded central device may read the battery level from the Battery Level characteristic. Device information A standard Device Information Service is available, according to BLE specifications. Any bonded central device may read these fields: Manufacturer Name String Serial Number String Hardware Revision String Firmware Revision String Tap proprietary Custom 128-bit service contains the main API for the Tap. The UUID of the service is: C3FF0001-1D8B-40FD-A56F-C7BD5D0F3370 The following characteristics are available: Tap data. UUID: C3FF0005-1D8B-40FD-A56F-C7BD5D0F3370. Properties: Notify Support service is being used for the API. It's UUID: 6E400001-B5A3-F393-E0A9- E50E24DCCA9E. There's a single support characteristic in the support service. UUID: 6E400002-B5A3-F393- E0A9-E50E24DCCA9E. Properties: Write

Tap proprietary protocol General description The is extracting a handful of gestures from its sensor using complicated algorithms. Our SDK exposes those via the Tap protocol and allows anyone to receive events on any gesture detection. The Tap has 2 usage modes: Text mode and Controller mode. By default, the device is in Text mode and all normal functions, such as mouse and multi-taps are mantained. When the propritrary protocol is desired, the Tap must enter Controller mode by application request. During Controller mode, the Tap has reduced functionally but will send events according to the protocol. When done with Controller mode, the app must tell the Tap to exit the controller mode. Events are sent as an array of bytes from specific characteristic under the Tap Service. Multibyte fields are in Little Endian format. Controller mode The Tap must be entered into controller mode by performing a write action on the support characteristic with the Enter controller mode 4 byte magic packet. To remain in controller mode, the enter controller mode magic packet must be sent every 10 seconds. To exit out of controller mode, the exit controller mode magic packet must be written. Packet description Byte 0 Byte 1 Byte 2 Byte 4 Enter controller mode 0x03 0x0C 0x00 0x01 Exit controller mode 0x03 0x0C 0x00 0x00 During the controller mode, the Tap has reduced functionality to not potentially interfere with applications. For example, multi taps are not supported and Switch & Shift behavior. Make sure to exit out of controller mode when the application closes.

Tap data Once in controller mode and Tap data characteristic's notifications are enables, Tap data characteristic will send tap events via notifications. Packet format: Byte 0 Byte 1 Byte 2 Tap code Type: Unsigned Int8 Tap interval in milliseconds Type: Unsigned Int16 The tap code is a binary combination of the tapping fingers with the following mapping: (LSB) Bit 0: thumb finger Bit 1: index finger Bit 2: middle finger Bit 3: ring finger Bit 4: pinky finger Bit 5: unused Bit 6: unused (MSB) Bit 7: unused For example, when the user tapped all fingers, the tap code is 31 (or 0x1F). When the user tapped both thumb and index (character N), the tap code is 3 (0x03). When the tap is in left hand mode, the finger-to-bit mapping remains relevant. Thumb tap on the right hand with the right-hand setting will set the same bit as the thumb tap on the left-hand with the left hand setting. The tap interval is the period from the previous tap in milliseconds. It's saturated at 65535 milliseconds and will not grow further.