Ideas for stress testing GPS via GadgetBridge #5918
Replies: 1 comment
-
Posted at 2023-03-01 by @halemmerich I can now reproduce the problem. It seems to independent of the bangle code as well as GPS reception. Forcing the problem to appear takes cutting of BT reception enough for a disconnect. The behaviour after is very similar to having a breakpoint in the loop of the
After disconnecting bluetooth from the outside the GPS sending looks like this:
No WriteAction executing, just the next GPS update arriving and queuing up the next transaction task. This is the only log line seeming relevant for this problem after the forced disconnect:
Save for BT disconnects the GPS from GB works really well now. @gfwilliams any idea what could be the problem here or where to search further? I'm a bit out of my depth regarding the BT LE stuff in GB. Posted at 2023-03-02 by @gfwilliams Any chance you can debug the Android Gadgetbridge app and check the characteristics? It's possible they are null. If so, it might be related to https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/2996 - it ends up connecting but then not being able to send/receive any data. I guess in this state, nothing else works?eg you can't send a test message from the Gadgetbridge debug menu? ... although I wonder if it is that issue, as I didn't think a WriteAction would get created in that case? Is it possible that a WriteAction is created for the wrong device handle or something? Posted at 2023-03-02 by @halemmerich It is probably a different issue, the characteristics are not null. In the broken state it hangs in Posted at 2023-05-06 by @halemmerich Maybe unrelated, but since I updated my daily-driver bangle from 2v16 to 2v17.54 (and Gadgetbridge to another nightly, but I think without relevant changes for Bangle) this seems to be happening a lot less. I am down from practically every second day to maybe once a week. Posted at 2023-05-18 by @halemmerich I have tested a bit again with current stable firmware and GB (2v17 and 0.74) and the changes for
It seems there is a problem in the GadgetBridge GPS handling code, not the GPS code on the watch. It is in the metal box when the problem starts, so no influence on GB at that point in time. Without triggering GBGPS on the watch the "fake" reconnect does not happen and the actual reconnect after the box is openend restores full functionality. Posted at 2023-05-18 by @halemmerich I think I found the issue: Posted at 2023-05-19 by @gfwilliams Excellent, thanks! It'd be great to get that in |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-02-24 by @halemmerich
I'm searching for a method to stress test the GPS via GadgetBridge changes in espruino/BangleApps#2534 together with the latest GadgetBridge nightly.
There is a test script, which exercises all states, that runs fine.
Yesterday I had somehow reached the state of GadgetBridge still sending GPS events (seen in logcat) but the Bangle was not reacting at all. That was about half an hour after starting to use GPS. First theory was GPS cutting out on the phone and somehow getting the internal state on the bangle out of order.
To simulate bad GPS I have devised a top notch high end RF testing bench (put the phone into grounded aluminium foil) and created about a thousand disconnects from GPS over 8 hours. The bangle code worked without failure the whole time.
Sooo... Has anyone other ideas for testing this?
Beta Was this translation helpful? Give feedback.
All reactions