Giter VIP home page Giter VIP logo

blebondtestapp's Introduction

Android 13 BLE Bonding Issue Test App

This repository contains a sample Android app and an nRF52840 firmware intended to be used to aid reproduction of an issue reported on Google's issue tracker: https://issuetracker.google.com/issues/242755161.

Sample Firmware for nRF52840

The nordic-firmware-nrf52840 directory contains the nRF5 SDK v15.3.0 and an example from Nordic Semiconductor that's been slightly modified to support LE Privacy and Just Works pairing.

Building the firmware

  1. Install J-Link software and documentation pack and SEGGER Embedded Studio (SES). (This example was tested on J-Link v7.80 and SES v6.34.)
  2. Launch the project file nordic-firmware-nrf52840\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hrs\pca10056\s140\ses\ble_app_hrs_pca10056_s140.emProject.
  3. The main firmware application logic is inside nordic-firmware-nrf52840\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hrs\main.c.
  4. Connect a Nordic nRF52840 development kit.
  5. In SES, select Build -> Build and Debug. (Note: you may need to exclude nordic-firmware-nrf52840\nRF5_SDK_15.3.0_59ac345\external\segger_rtt\SEGGER_RTT_Syscalls_SES.c from the build if it errors.)
  6. Stop the debugger.
  7. The nRF52840 should be advertising as "Android13FTW".

Sample Android app

The android-app directory contains a barebones Android app intended to work with the specific firmware in the nordic-firmware-nrf52840\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_hrs directory.

Usage

  1. Build and install the app onto an Android 13 device using Android Studio.
  2. When the app launches, grant it permission to use Bluetooth for scanning and connecting to nearby peripherals.
  3. Hit the "Run Test" button.
  4. If the firmware is advertising, the app will connect to it, bond with it, and read a value off the Body Sensor Location characteristic.
  5. After that, you'll need to press Button 1 on the nRF52840 which should trigger a disconnect from the firmware (while remaining bonded) and the app will reconnect to the nRF52840 again. If this reconnection and another subsequent characteristic read are successful, the test is deemed to have been successful for this iteration.
  6. Repeat by running steps 3 through 5 again. If the issue is reproduced, the reconnection to the bonded peripheral should fail as described in this comment.

blebondtestapp's People

Contributors

cheeyi avatar hasslerb avatar

Stargazers

Duc Trung avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.