geeksville
98d5f3a7be
remove deprecated lat/long float encodings
2020-06-11 21:25:45 -07:00
geeksville
eb5a492ade
OMG - we were accidentally leaving two GATTs alive - which is super bad
2020-06-11 17:34:22 -07:00
geeksville
d282c7911e
immediately fail bluetooth links if we get a read or write error
2020-06-11 16:32:33 -07:00
geeksville
6baae70125
prevent concurrent modification exception when deleting old msgs
2020-06-11 16:22:44 -07:00
geeksville
e20f7c5943
use only async io when talking to the radio
2020-06-11 16:22:20 -07:00
geeksville
73c2c8def1
Fix #39 : If unlucky device could be beginning sleep when we try to send
2020-06-11 14:03:10 -07:00
geeksville
c747cecc31
better printing of serial debug output
2020-06-11 11:21:11 -07:00
geeksville
e4223d6476
prevent race condition if meshservice starts running before radiointerface
2020-06-11 11:20:51 -07:00
geeksville
c57704013f
#38 : USB device pairing now works across reboots
2020-06-10 12:16:54 -07:00
geeksville
96a28afb8f
fix autobug: old notifies might come in from devices we are reconnecting to
2020-06-10 12:03:31 -07:00
geeksville
1be402d771
fix autobug - discovery can now occur after mtu
2020-06-10 11:42:11 -07:00
geeksville
cff90c5bd7
never let getMyNodeInfo ever return null. fixes an autobug for device removal
2020-06-09 18:56:34 -07:00
geeksville
3be44439ab
#38 : add USB hotplug support (but android doesn't yet remember accross reboots)
2020-06-09 17:10:49 -07:00
geeksville
590e76731f
One more fix for Soyes XS phones (but see disclaimer below)
...
The bluetooth implementation of this phone calls the gatt callbacks
*before* the connect call returns to the client. This is incorrect because
the client won't have a reference to the gatt at that time.
Fortunately, we only need to check gatt on disconnect, so I moved that later.
But one problem I've noticed in my testing. Sometimes this phone stops
being able to scan for BLE devices. The only fix I've found is to click to
turn bluetooth off briefly and then back on.
A major problem with this phone is that if you reboot the phone it seems
the time the phone has forgotten its paring data and devices must
be re-paired. This is a huge bummer and I don't think my app can fix this.
2020-06-09 12:25:05 -07:00
geeksville
2568f00762
ignore failures delivering close exceptions (autobug)
2020-06-09 10:22:19 -07:00
geeksville
e3ad6b153a
don't log stuff that might contain PII
2020-06-09 10:21:54 -07:00
geeksville
c0bea24942
show placeholder entries for disconnected USB devices #38
2020-06-09 10:09:25 -07:00
geeksville
005ab16283
except for dynamic device probing USB serial works pretty good now #38
2020-06-09 09:53:32 -07:00
geeksville
3661fd157e
USB reading now almost works - except config_complete #38 WIP
2020-06-09 09:10:51 -07:00
geeksville
4ba7acc307
don't filter devices that are not currently connected
2020-06-09 07:46:19 -07:00
geeksville
0fc71f71fd
Woot! #38 USB read/write approximately works, need fit and finish WIP
2020-06-08 20:02:40 -07:00
geeksville
ad71602b7d
#38 USB reading now somewhat works WIP
2020-06-08 19:15:18 -07:00
geeksville
6e589a838d
WIP begin refactoring to use the reader helper class
2020-06-08 18:52:19 -07:00
geeksville
0c8e2ca1ac
USB device port support WIP
...
https://github.com/meshtastic/Meshtastic-Android/issues/38
2020-06-08 18:24:36 -07:00
geeksville
c99f5cf342
Merge branch 'master' into usb
...
# Conflicts:
# app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt
2020-06-08 14:32:26 -07:00
geeksville
c0ada64653
0.7.2 hotfixes for autobugs
2020-06-08 14:19:49 -07:00
geeksville
420b718b11
USB WIP
2020-06-08 14:04:56 -07:00
geeksville
303fb86aa6
oops - we want to compare aganst the old interface, not the new one
2020-06-07 22:39:57 -07:00
geeksville
f16d0d8cf5
work with old devices that still use 8 bit addresses
2020-06-07 22:15:47 -07:00
geeksville
6a71e6c414
0.7.0 my robotester script found a bug in my previous change!
...
properly map bluetooth addresses to the new transport independent address
2020-06-07 20:39:51 -07:00
geeksville
ce14fde33b
Fix #36 - allow users to select 'none' for the preferred radio
...
If none is selected, we do not leave our service running. And we do
not start it on boot.
2020-06-07 18:55:08 -07:00
geeksville
7a3cda314e
Fix recent bug where sometimes phone would not auto-reconnect to devices
2020-06-07 18:05:18 -07:00
geeksville
6a5cb0ddc7
Partial #36 : Don't make our service foreground if user hasn't selected radio
2020-06-07 17:51:51 -07:00
geeksville
f4ae325d02
Partial for #36 : Don't start service at boot if unbonded
2020-06-07 17:27:19 -07:00
geeksville
30137efc68
WIP - cleaned up BLE vs serial interface approximately works
2020-06-07 17:11:30 -07:00
geeksville
e99e8695fe
Move all BLE code into BLE service
2020-06-05 21:22:56 -07:00
geeksville
3d4be477a2
remove old BLE api
2020-06-05 21:12:15 -07:00
geeksville
d1a3d98de4
change to use @mik3y /usb-serial-for-android (WIP)
2020-06-05 20:22:45 -07:00
geeksville
712e034228
Merge branch 'master' into usb
2020-06-05 12:12:04 -07:00
geeksville
38eabf9d70
fix an autobug: We gracefully handle safe being null because this can occur if someone has unpaired from our device - just abandon the reconnect attempt
2020-06-05 12:11:35 -07:00
geeksville
76f3df94df
WIP
2020-06-05 11:53:50 -07:00
geeksville
cecc369598
split out common code for USB and BLE links
2020-06-04 12:34:34 -07:00
geeksville
db43f47f91
handle 133 statuses when direct connect fails
2020-06-04 09:58:06 -07:00
geeksville
d526d11d20
Fix #32
...
+ // Note: To workaround https://issuetracker.google.com/issues/36995652
+ // Always call BluetoothDevice#connectGatt() with autoConnect=false
+ // (the race condition does not affect that case). If that connection times out
+ // you will get a callback with status=133. Then call BluetoothGatt#connect()
+ // to initiate a background connection.
2020-06-04 09:35:25 -07:00
geeksville
6a3a763f71
workaround a kotlin(?!) bug
...
// FIXME - possible kotlin bug in 1.3.72 - it seems that if we start with the (globally shared) emptyList,
// then adding items are affecting that shared list rather than a copy. This was causing aliasing of
// recentDataPackets with messages.value in the GUI. So if the current list is empty we are careful to make a new list
2020-06-04 08:53:37 -07:00
geeksville
ef61c9acff
add note about https://github.com/meshtastic/Meshtastic-Android/issues/32
2020-06-04 08:02:36 -07:00
geeksville
9254a90774
add a min appVersion check, so devices can tell user when android app needs
...
update
2020-06-03 16:16:51 -07:00
geeksville
0b66d813ef
message status icons approximately work - still a problem on first send though
2020-05-31 11:23:25 -07:00
geeksville
7506d712ff
message status updates are coded but not yet tested.
2020-05-30 19:58:36 -07:00
geeksville
b2d8b30d5b
add packetid assignment to the phone side
2020-05-30 17:28:00 -07:00