Commit graph

474 commits

Author SHA1 Message Date
geeksville
f7ca63ed92 better error message if we can't find the update service 2020-07-04 11:32:51 -07:00
geeksville
92b3fa8d1f bug #76 - old sonys can take a VERY long time for the setMTU operation
to complete.  Change timeout to 10 secs (units in the field were showing
the mtu operation completing after 5 seconds.

Also - don't throw an exception if we encounter a result when we've already
killed things with the failsafe timer
2020-07-04 11:19:54 -07:00
geeksville
cc05be7d87 bug #76 fix a related autobug from feh123's log
Non-fatal Exception: kotlin.KotlinNullPointerException
       at com.geeksville.mesh.service.BluetoothInterface.doDiscoverServicesAndInit(BluetoothInterface.java:357)
       at com.geeksville.mesh.service.BluetoothInterface.access$doDiscoverServicesAndInit(BluetoothInterface.java:78)
       at com.geeksville.mesh.service.BluetoothInterface$onConnect$1.invokeSuspend(BluetoothInterface.java:429)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl.java:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.java:56)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:571)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.java:738)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:678)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:665)
2020-07-04 11:02:18 -07:00
geeksville
169cb7dcd7 fix unit tests 2020-07-02 14:46:37 -07:00
geeksville
85bdd25782 fix warning 2020-07-02 14:46:29 -07:00
geeksville
5f34fcba17 0.7.88 oops - if no work is pending, we also try to reconnect 2020-07-02 14:08:12 -07:00
geeksville
7faf4d2d79 fix software update button 2020-07-02 10:37:35 -07:00
geeksville
7bd6615cb7 oops - I wasn't properly checking for presence of firmware files 2020-07-02 10:32:47 -07:00
geeksville
0006858469 Fix autobug, don't show update button if we can't find the filename 2020-07-02 10:21:14 -07:00
geeksville
36949b83e5 Merge remote-tracking branch 'root/master' into dev 2020-07-02 10:12:44 -07:00
Kevin Hester
e74f12e6c6
Merge pull request #75 from lgoix/battery
Display battery level of remote nodes #64
2020-07-02 10:12:34 -07:00
geeksville
8ea949a437 fix autobug with old samsung phones 2020-07-02 09:53:52 -07:00
geeksville
103b21aafd Add stress tester that simulates super high chance of BLE failures
and fix bug that it revealed (missing handling of error during discovery)
2020-07-02 09:38:08 -07:00
geeksville
e5d6ffc4bd fix #77, see below:
root cause in log:
the problem is that we are running dropAndReconnect (because of an error diduing writec) at the same time as handleSendToRadio called scheduleReconnect because of the exception

fix is: now that BluetoothInterface is smart enough to do its own reconnections, do not auto reconnect in SafeBluetooth.  Instead just throw a BLEException and assume the client will reconnect if it wants.
2020-07-02 08:46:25 -07:00
geeksville
c0e58391a3 Fix problem of old messages not being remembered 2020-07-01 18:00:28 -07:00
geeksville
800060a991 Fix #77: when shutting down interfaces, cancel any retry attempts 2020-07-01 16:31:23 -07:00
geeksville
41bd082296 don't spam crashreport server if the device sent a corrupted protobuf 2020-07-01 15:50:07 -07:00
geeksville
2520a5e69d fix new autobugs 2020-07-01 15:43:01 -07:00
Ludovic Goix
d822538c0e Display battery level of remote nodes #64 2020-07-01 08:28:06 -04:00
geeksville
4172b221f0 autobug: failure to start should be treated like any other BLE exception 2020-06-30 12:35:58 -07:00
geeksville
fed418dae2 better debug output for the next time an autobug occurs 2020-06-30 12:18:49 -07:00
geeksville
0349e823f8 don't spam crashlytics with non-bug reports 2020-06-30 12:02:12 -07:00
geeksville
e6fd79f477 fix another autobug - clear gatt first, because close() can fail 2020-06-30 11:39:04 -07:00
geeksville
17faecc170 fix autobug 2020-06-30 11:13:18 -07:00
geeksville
549b1e8d7c fix #68 - workaround a disconnect bug in old androids
https://github.com/don/cordova-plugin-ble-central/issues/473#issuecomment-396790239
2020-06-28 18:04:52 -07:00
geeksville
773e81d25f print scan errors to log 2020-06-28 16:09:56 -07:00
geeksville
68cc494021 autobug - don't fail if the gatt goes away while we are connecting 2020-06-28 16:09:37 -07:00
geeksville
40055f603d Don't include firmware in development builds (speeds install time) 2020-06-28 14:55:02 -07:00
geeksville
1fd80c06d8 Fix #67, see that issue for writeup. gatt needs to be @Volatile 2020-06-25 17:56:31 -07:00
geeksville
2780a08931 The android Gatt caching bug on old phones (based on my reading of
the android C code) needs a small delay after calling refresh() because
otherwise the (stale) BLE handles are not discarded until _after_
we start using the connected service.
2020-06-25 15:53:17 -07:00
geeksville
d78932d6da Proper version checking and enable BLE software update for new devices 2020-06-22 17:14:29 -07:00
geeksville
b3f0ef6b09 now that BLE and UART are equal peers, much cleaner to look for
BLE disable/enable in the general RadioInterfaceService
2020-06-20 14:50:15 -07:00
geeksville
0e1b3f9a01 Merge remote-tracking branch 'root/master' into dev 2020-06-20 09:59:53 -07:00
Ludovic Goix
15ae8cd2e8 Show app version in the app #5 2020-06-18 23:06:07 -04:00
geeksville
aae9690369 minor cleanups 2020-06-18 15:47:36 -07:00
geeksville
323809b762 fix autobug when gatt is being destroyed 2020-06-18 15:45:30 -07:00
geeksville
65014dac48 Fix autobug by making the standard reconnect logic also get used if
we are told BLE just got turned back on.
2020-06-18 15:41:15 -07:00
geeksville
12ef3d4d7b Don't crash the app if the node sends a bogus lat > 90 deg 2020-06-18 14:08:21 -07:00
geeksville
73de2c33c2 fix autobug if old work items run after gatt is destroyed 2020-06-17 14:02:58 -07:00
geeksville
89258646b0 Fix autobug if service goes away while we are changing devices 2020-06-17 13:59:32 -07:00
geeksville
2819ec5629 0.7.78 We do this painful process because LocationManager.isEnabled is only SDK28 or latet 2020-06-16 15:53:18 -07:00
geeksville
03af1f1de7 Fix #55 - warn user if they have location disabled 2020-06-16 10:30:18 -07:00
geeksville
3cf7d97dcf Fix #54. Thanks @slavino for the report! 2020-06-16 10:09:22 -07:00
Ludovic Goix
7e49395a0e Fix the crash from unrecognized ModemConfig #50 2020-06-15 22:28:25 -04:00
geeksville
44e084c999 fix dead object exception 2020-06-15 07:09:21 -07:00
geeksville
7cca69be0d properly mark when we are disconnected 2020-06-14 16:43:36 -07:00
geeksville
822e771a96 fix missing import 2020-06-14 09:33:15 -07:00
geeksville
1ba8e4e1f6 Merge remote-tracking branch 'root/master' into dev 2020-06-14 09:25:07 -07:00
geeksville
65294fd638 Return "n" if user has selected device none - fixes autoselect of
the first BLE device that shows up
2020-06-14 09:24:51 -07:00
Ludovic Goix
45273f5a7d Make Channel options available 2020-06-14 00:11:08 -04:00