Commit graph

1112 commits

Author SHA1 Message Date
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
geeksville
abe0665d03 less debug output 2020-06-13 17:02:32 -07:00
geeksville
f9c1ac8cd2 Fix back to back writes to not overwrite BLE characterstic. Fixes
the "sending while device was asleep bug"
2020-06-13 16:21:26 -07:00
geeksville
7ee4aff64c don't generate redundant set User packets 2020-06-13 16:02:57 -07:00
geeksville
68ed9d5333 ESP32 BLE handles are not stable across sleep - force refresh 2020-06-13 16:02:25 -07:00
geeksville
75576efabe ESP32 code does not generate "service changed" indications 2020-06-13 08:43:22 -07:00
geeksville
6195874982 If user changes back to default channel, use the standard key 2020-06-12 20:38:43 -07:00
geeksville
aa3a8bf089 Add back AES256 key assignment (from TODO list) 2020-06-12 20:26:10 -07:00
geeksville
8e8ac93904 better error reporting for protobuf errors 2020-06-12 17:02:21 -07:00
geeksville
e0b2cda229 stop background geojson updates - it crashes mapbox native 2020-06-12 15:29:42 -07:00
geeksville
764366a82b #172 don't set radio button if the radio is not paired 2020-06-12 13:00:26 -07:00
geeksville
a81edbf646 Fix #37, show a Toast every time the app launches about missing permissions 2020-06-12 11:17:52 -07:00
geeksville
98d5f3a7be remove deprecated lat/long float encodings 2020-06-11 21:25:45 -07:00