Comments (3)
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.
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.
@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)
- Support for new ESP32 Arduino core (3.x) and IDF (5.1) HOT 7
- [Feature request] Support for ESP32-C6 HOT 17
- ESP_ERROR_CHECK failed on platformio, [email protected]
- Is it possible to advertise multiple 128bit services with data? HOT 1
- no advertising with ESP32-C6 HOT 6
- Set Manufacturer Data - Bug HOT 1
- Platformio, arduino and esp32 - pinning nimble to core and debug HOT 3
- onAuthenticationComplete() never called HOT 2
- ESP32-S3 crashing with the examples HOT 2
- Device name not showed at first connection HOT 2
- Allow only certain bonded client to connect to NimBLEServer. Whitelist in advertising does not work for already bonded peers
- Changing CPU frequency causes crash HOT 4
- Notification 8 byte data size
- ble does not work when cpu set to 40mhz or bellow HOT 2
- notify not updating values in nRF Connect HOT 1
- Is it possible to advertise the device name as a client? HOT 2
- How to achieve long-distance connection communication? HOT 3
- Rapid and Repeated: E NimBLEClient: Connection failed; status=574 Connection Failed to be Established HOT 2
- How to obtain client from existing server connection?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nimble-arduino.