GithubHelp home page GithubHelp logo

Comments (3)

toaster-robotics avatar toaster-robotics commented on May 29, 2024

I was able to get the reconnect down to ~0.75 seconds by specifying the NimBLERemoteCharacteristic to subscribe to. I have it pared down to 3 NimBLERemoteCharacteristic or 3 handles (23, 31, 35). The bulk of the reconnect time is subscribing to the characteristics. One (23) takes ~0.05 seconds to subscribe. But the next two (31, 35) take ~0.35 seconds each. I couldn't get it to go any faster.
One strange thing is that I only need two (23, 31) of the characteristics to catch button presses. But for some reason, if I don't subscribe to the third one (35) I never receive notifications on the other two. If I can get this part figured out then I can cut the time down to ~0.4 seconds.

from nimble-arduino.

tapir avatar tapir commented on May 29, 2024

Is there a sample code you can share? I'm exactly in the same boat except light sleep instead of deep. Also may I ask how did you manage to wake up from deep sleep with so many keys? AFAIK waking up from deep sleep is only possible with RTC pins which are very limited.

from nimble-arduino.

toaster-robotics avatar toaster-robotics commented on May 29, 2024

@tapir , I just made my code into a library. I can't speak for your device. But the remote I'm using wakes with any button press. I have done 0 modifications to the remote. I've only been working on the ESP32 as a client. I don't touch the server. The remote goes for close to $1 on Aliexpress if you want to check it out.

I'm kinda thinking to achieve near instantaneous reconnects from sleep (like on a firestick remote) there would need to be changes to the BLE remote code. But I don't plan on attempting that because: 1. I'm treating it as a off-the-shelf part and 2. I would have no idea how to do that.

from nimble-arduino.

Related Issues (20)

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.