Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluegiga Connection times out after a few seconds #15

Open
Vita-Innovations opened this issue Aug 25, 2020 · 0 comments
Open

Bluegiga Connection times out after a few seconds #15

Vita-Innovations opened this issue Aug 25, 2020 · 0 comments

Comments

@Vita-Innovations
Copy link

Vita-Innovations commented Aug 25, 2020

Hi! Thank you first of all for being the only option out there to implement Java bluetooth development on a Windows machine.

I've made an SPO2 continuous monitoring software using your asynchronous heart rate monitor. I use a Bluegiga BLE112 dongle that connects via bluetooth to an Arduino connected to a pulse oximeter. However, once a connection has been established and a few seconds of data has been received by the software, it stops, and after ten or so seconds, we get these warnings:

18:21:56.079 WARN Disconnection event received bluegiga:/88:6B:0F:C9:CA:59/F7:FA:FA:D5:1E:9C. Reason: CONNECTION_TIMEOUT.
18:22:07.084 WARN Timeout received while calling complex procedure: BlueGigaFindInformationFoundEvent / BlueGigaProcedureCompletedEvent. Trying one more time
18:22:07.087 WARN Could not discover device attributes: bluegiga:/88:6B:0F:C9:CA:59/F7:FA:FA:D5:1E:9C
org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaProcedureException: Could not initiate process: BlueGigaFindInformationFoundEvent / BlueGigaProcedureCompletedEvent / WRONG_STATE at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaHandler.callProcedure(BluegigaHandler.java:476) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaHandler.syncCallProcedure(BluegigaHandler.java:411) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaHandler.getCharacteristics(BluegigaHandler.java:213) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaDevice.discoverCharacteristics(BluegigaDevice.java:505) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaDevice.lambda$discoverAttributes$2(BluegigaDevice.java:435) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaHandler.runInSynchronizedContext(BluegigaHandler.java:190) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaDevice.discoverAttributes(BluegigaDevice.java:428) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaDevice.handleConnectionStatusEvent(BluegigaDevice.java:478) at org.sputnikdev.bluetooth.manager.transport.bluegiga.BluegigaDevice.bluegigaEventReceived(BluegigaDevice.java:283) at com.zsmartsystems.bluetooth.bluegiga.BlueGigaSerialHandler$2.run(BlueGigaSerialHandler.java:471) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:844)
18:22:12.108 WARN Could not discover device attributes: bluegiga:/88:6B:0F:C9:CA:59/F7:FA:FA:D5:1E:9C

On top of setting that characteristic governors and listeners as you did in your example, the only extra thing I do is check for connectivity by getting a device governor and returning isReady().
Is this an issue with your library or how I am implementing it? If not, is there a way for me to reset the connection to the arduino and reconnect once I have detected there to be a timeout? Also, is there a way for me to set my own timeout length so that the software reacts faster to an event such as this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants