Commit Graph

1143 Commits

Author SHA1 Message Date
geeksville
238ae9a06c fix autobug, if we don't have a gatt currently, treat as a BLEException 2020-05-24 11:15:13 -07:00
geeksville
38f45a9413 fix autobug that showed on a MIX2 (whatever that is), ignore BLE state changes
when we don't have a gatt
2020-05-24 11:07:15 -07:00
geeksville
e6abd9d1a5 autobugs - some phones send bougs onMtuChanged when we are not setting mtu 2020-05-24 11:01:13 -07:00
geeksville
8b3817964e make sync BLE operations timeout a bit shorter 2020-05-24 10:47:02 -07:00
geeksville
6d463334a5 fix autobug racecondition that could occur with non gps devices 2020-05-24 10:46:50 -07:00
geeksville
74449be999 don't spam with autobugs if we just fail because the device is off 2020-05-24 10:46:27 -07:00
geeksville
a191dac0f4 stay with old api for now, because too much change hurts reliaiblity ;-) 2020-05-24 10:12:12 -07:00
geeksville
ae72081917 possible for #30: native mapbox crash 2020-05-24 10:11:48 -07:00
geeksville
4efd25d009 Possible fix #26. It seems some phones don't quite have the services
list populated at the time they say service discovery has completed.
Make the nasty 500ms delay a 1000ms delay instead
2020-05-24 09:51:25 -07:00
geeksville
774ab65ece treat radio not connected exception like a remote exception 2020-05-24 09:45:52 -07:00
geeksville
28023b8f42 Fix 27: add timeouts for BLE operations, to protect against buggy drivers 2020-05-24 09:45:39 -07:00
geeksville
bba9def20e it has been a couple of weeks since new API rolled out, now just
always use it
2020-05-24 08:47:36 -07:00
geeksville
501ca3df9d mark that we want our text transmissions to be reliable 2020-05-21 17:25:04 -07:00
geeksville
6e261fa35e don't let the user send empty messages 2020-05-15 11:55:32 -07:00
geeksville
c06f5f1c39 set aside ble sw update for now 2020-05-15 10:18:15 -07:00
geeksville
3c338aec61 firmware update progress bar kinda works 2020-05-14 11:47:24 -07:00
geeksville
5044c5393f firmware update wip 2020-05-13 17:34:15 -07:00
geeksville
c1388d6bad firmware update button is kinda in 2020-05-13 17:00:23 -07:00
geeksville
6576f5eab5 backend updated to reneable firmware update 2020-05-13 14:47:55 -07:00
geeksville
b4da48beb5 after boot wait even longer - 2 min, we are in no rush anyways
the phone should be quite less busy by then
2020-05-11 15:27:53 -07:00
geeksville
407a38594f workaround for slow booting Samsung phones 2020-05-11 13:12:44 -07:00
geeksville
33265c7c2e fix autobug - if someone runs really old device code with buggy bluetooth
just wait for them to fix their device...

https://console.firebase.google.com/u/0/project/meshutil/crashlytics/app/android:com.geeksville.mesh/issues/1948d9ea376e223f34d7065d1aba39df?time=last-seven-days&sessionId=5EB4DF6800B900016F5DA5AAC26367BE_DNE_1_v2
2020-05-11 11:44:24 -07:00
geeksville
0b7f853abc fix an autobug - race condition on some phones BLE reconnect 2020-05-10 21:39:49 -07:00
geeksville
877006f26b temp code for testing failures 2020-05-10 21:39:23 -07:00
geeksville
de4cb68930 update to latest protobufs 2020-05-09 21:20:17 -07:00
geeksville
12f7e9a8ce support int based lat/long
for https://github.com/meshtastic/Meshtastic-device/issues/124
2020-05-04 08:05:59 -07:00
geeksville
913a0b56fd don't show progress animation once we have a node listed, re #25 2020-05-03 17:58:11 -07:00
geeksville
ee34a7a370 fix missing strings reported by @Mango-sauce 2020-05-01 13:43:57 -07:00
geeksville
f4e96b936f fix an autobug that occurred on a Droid Turbo (whatever that is) 2020-04-29 11:04:15 -07:00
geeksville
d669a06ed7 update protobufs 2020-04-28 18:02:01 -07:00
geeksville
5822dddc6c Fix #23: autobug, if we get mystery BLE error 133 while reading messages
drop the BLE link and reconnect and try again.
2020-04-26 13:03:35 -07:00
geeksville
bdda0c031d mark our service as very important. If the service can't run, the gui can't either 2020-04-26 12:26:08 -07:00
geeksville
ba91920154 fix autobug: if user has location disabled, warn that we can't provide it to mesh 2020-04-25 07:33:51 -07:00
geeksville
975c7d41db Rather than waiting for crashlytics to send on next launch, send reports
immediately.
(related to #20)
2020-04-24 18:42:57 -07:00
geeksville
51efde08c0 0.5.6 if we lose connection during initial radio download, fail gracefully 2020-04-24 15:59:01 -07:00
geeksville
e302848607 0.5.5 only try to set max MTU once, if it fails consider phone buggy 2020-04-24 15:49:34 -07:00
geeksville
3e89510f52 Some phones have buggy race conditions wrt finding services or characteristics
This workaround is: If we fail in that way during initial device connection
we disconnect() and try again 500 ms later.
2020-04-24 15:22:54 -07:00
geeksville
a3db3eca06 We now detect and use the newapi if the device doesn't offer the old one 2020-04-23 12:08:34 -07:00
geeksville
17edf75b95 setting now works using the new ble api 2020-04-23 11:24:57 -07:00
geeksville
a5eaa057a1 new ble api approximately works for reading 2020-04-23 11:24:57 -07:00
geeksville
2ced6f5f6a WIP, begin adding support for the simpler BLE api
https://github.com/meshtastic/Meshtastic-esp32/issues/69
2020-04-23 11:24:57 -07:00
geeksville
4c39d9e3f9 don't let users edit their name when not connected to radio 2020-04-23 11:24:10 -07:00
geeksville
5e57fd69e1 also show failure to bond in the GUI 2020-04-23 09:03:44 -07:00
geeksville
ca2cae7003 Don't claim we have bluetooth access until the user grants location
permissions.  This fixes an ugly behavior when for when the user does
a from scratch install and first runs the app (and the dialog comes up
to grant access).

Previously we were starting our BLE scan for devices before that dialog
has been approved by the user, which Android doesn't return an error for
it instead just silently refuses to show devices.  If the user switched
away from the app and came back, we'd restart our scan and they could see
their device.

This fixes things so that the user doesn't have to switch away from our
app once before the devices appear.
2020-04-23 08:52:25 -07:00
geeksville
7d76f99731 wait for bonding complete before telling service to connect 2020-04-23 08:22:54 -07:00
geeksville
6f5c7b2452 move logging to the IO thread 2020-04-22 08:20:57 -07:00
geeksville
8ec8b038b6 Increase MTU _before_ discovering services, because it will speed up the link 2020-04-22 08:10:23 -07:00
geeksville
b63ebadf72 track # of text messages received/sent 2020-04-22 07:59:07 -07:00
geeksville
b194659e8a Fix autobug: some BLE implementations might not be completed
with service enumeration by the time they call the discover services
callback.  Therefore be careful to not touch "service" until after
the 500ms delay everyone on stackoverflow says these buggy drivers need.
2020-04-22 07:25:07 -07:00
geeksville
5abb56ec3f a better fix for the problem of sending messages while device is asleep
Better just to Observe myId and wait for it to be !null
2020-04-21 20:48:44 -07:00