Giter Site home page Giter Site logo

cobble's Introduction

Hi there ๐Ÿ‘‹

cobble's People

Contributors

charliebruce avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cobble's Issues

Fix Indication on Windows

Currently, Windows will assume that a characteristic will use Notification. If the characteristic only supports Indication, it won't work correctly.

Support write with reply

Currently, the API doesn't allow you to choose between writing with vs without reply. This causes issues with Nordic DFU (which only seems to work if you allow a reply).

Improve MTU on Windows

#6 introduces MTU but just uses the default 20 bytes. We should read from the OS and/or negotiate the maximum.

Connection process on Windows is flaky

Quite often, service discovery will fail, and/or a rapid sequence of connection and disconnection events will be fired.

Some possibilities:

  • Misunderstanding about event_token, when we need to add/remove listeners
  • Lack of understanding re connection/object lifecycle and when connection is closed (when object is deleted?)
  • Issue with the GattSession usage
  • Uncaught async exceptions
  • Leftover connections meaning that callbacks are missed because we're already connected

Approaches:

  • Add error handling to async code
  • Add a load of debug statements to Bluetooth LE Explorer or similar, and see what it's doing and in which order

Linux support

BlueZ is a work in progress.

  • Scanning
  • Investigate / confirm socket vs DBus API - rumble implies socket preferable, bleak uses dbus
  • Connecting
  • Subscribing to notifications
  • Reading and writing characteristics
  • Work around Battery service issues that may come up as discussed here - some BlueZ versions hide BAS under org.bluez.Battery1 rather than exposing the raw data.
  • Tidy up / reliability / edge cases tested - correctly closing sockets, handling disconnections etc

Improve MTU on Android

#6 introduces ability to read MTU, but on Android we just use the minimum of 20 (guaranteed by Bluetooth spec) for compatibility. We should instead read from the OS and/or request a better value if it doesn't automatically select the maximum possible.

Document and streamline development process

  • Change export directory structure for easy export into a Unity project
  • Document and explain the manifest settings required for macOS/iOS/Android
  • Possibly, abstract out the process of requesting permissions on a given platform?
  • Tidy up and test the example bindings

Fix indication on Android

Currently, Android will assume that a characteristic will use Notification. If the characteristic only supports Indication, it won't work correctly.

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.