/*
fixme we must call this callback in a coroutine. Because apparently there is only a single activity looper thread. and if that onConnected override
also tries to do a service operation we can deadlock.
at sun.misc.Unsafe.park (Unsafe.java)
- waiting on an unknown object
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:2067)
at com.geeksville.android.ServiceClient.waitConnect (ServiceClient.java:46)
at com.geeksville.android.ServiceClient.getService (ServiceClient.java:27)
at com.geeksville.mesh.service.MeshService$binder$1$setDeviceAddress$1.invoke (MeshService.java:1519)
at com.geeksville.mesh.service.MeshService$binder$1$setDeviceAddress$1.invoke (MeshService.java:1514)
at com.geeksville.util.ExceptionsKt.toRemoteExceptions (ExceptionsKt.java:56)
at com.geeksville.mesh.service.MeshService$binder$1.setDeviceAddress (MeshService.java:1516)
at com.geeksville.mesh.MainActivity$mesh$1$onConnected$1.invoke (MainActivity.java:743)
at com.geeksville.mesh.MainActivity$mesh$1$onConnected$1.invoke (MainActivity.java:734)
at com.geeksville.util.ExceptionsKt.exceptionReporter (ExceptionsKt.java:34)
at com.geeksville.mesh.MainActivity$mesh$1.onConnected (MainActivity.java:738)
at com.geeksville.mesh.MainActivity$mesh$1.onConnected (MainActivity.java:734)
at com.geeksville.android.ServiceClient$connection$1$onServiceConnected$1.invoke (ServiceClient.java:89)
at com.geeksville.android.ServiceClient$connection$1$onServiceConnected$1.invoke (ServiceClient.java:84)
at com.geeksville.util.ExceptionsKt.exceptionReporter (ExceptionsKt.java:34)
at com.geeksville.android.ServiceClient$connection$1.onServiceConnected (ServiceClient.java:85)
at android.app.LoadedApk$ServiceDispatcher.doConnected (LoadedApk.java:2067)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run (LoadedApk.java:2099)
at android.os.Handler.handleCallback (Handler.java:883)
at android.os.Handler.dispatchMessage (Handler.java:100)
at android.os.Looper.loop (Looper.java:237)
at android.app.ActivityThread.main (ActivityThread.java:8016)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1076)
*/
0.9.6 - Iām especially interested in alpha tester feedback on this releaseā¦
Iām still working on 2-3 bugs before 1.0 but I wanted to get this build out because people have contributed some great fixes:
@a-f-G-U-C fixed a number of GPS related problems. In particular the 8m ublox gpses should now work better. Also GPS sat locking should now work even with marginal signals.
@mc-hamster added a first draft of the much discussed GPS status screen
There is definitely a bug. t-beam (1.1 with n8m ublox) will random crash or forced crash hitting the button to cycle screen. After reboot unit will ask for new BLE pairing code and will revert back to default name.
Just to double check - when you say it crashes when hitting the button to cycle the screen, you mean you pressed the middle button and the device rebooted? (not the right button - which is reset and will force a reboot).
re the BLE pairing code, can you try the 0.9.6 bin I just released?
I think there might be a dependency that is wonky in your (and others?) custom build.
I will check again, do another git pull to make sure and check the version. Yes custom build because Iām using a bigger screen. I will update again when I get back to the computer.
oh that makes sense then. I fixed a bug in the esp32 libraries (which are in ~/.platformio). I think āpio updateā should force those libs to be fetched - but if you really want to be sure delete ~/.platformio/packages and ~.platformio/platforms and the next time you do a build pio will definitely fetch them.
Build custom Meshtastic-device with edit to line 134 of the configuration.h to remove comment on #define USE_SH1106 because I am using the larger screen
Upload custom build to TTGO T-Beam 1.1 n8m
So far unit is working and seeing other unit and am able to scroll through (Middle Button) all three screens (Default Device Screen, Other Node Screen and Device Stat\Uptime Screen, not sure what we are calling it)
As soon as the unit pick up SATS and you click the middle button the unit will reset between the Node Screen (Seeing the other device I have) and the Device Stat\Uptime Screen. I did do a reset and put the unit on the Device Stat\Uptime Screen and as soon as it seen the SATS it went into reboot.
Did not even try to connect with app over BLE
I can say that the unit will pick up SATS a lot quicker than previous, less than a min (Not sure if the device does a full factory reset on the GPS unit after flash). Please let me know if anyone needs more information to assist in troubleshooting.
Hi, thanks for the fixes, here is a quick feedback:
I flashed 0.9.6 yesterday, and the first boot took significantly longer than ever. Donāt know if this of interest.
After that, one tbeam got s GPS fix within a minute just lying on my desk. I feel, that in previous versions it took much longer.
My second tbeam did not get a fix, even sitting close to the window all night. This morning I moved it to another window and got a fix within 5 mins. Seems faster on a reset.
Sometimes I have a position offset in the apps map tab, even there is the right position on the LCD screen
āNo GPSā did not occur for me until now. Great
Just loaded 0.9.6 onto three tbeams - two 6M and one M8N. All three mesh fast. On the new page I first see no gps lock and then once locked I get a battery voltage and %, a time on line and a Mode - mine is Mode 3. I also see lat/lon. I connect to them from a Huawei MediaPad3 running android 7.0.0 and app 0.9.81. I did not forget them in the BT settings menu and they are correctly remembered and I needed no code. All appear in mapbox. I can text all three and the text appears on the devices almost immediately. Best performance I have seen on my MediaPad. I will leave them connected for a few hours and then check them again. Really nice versions!
Been out testing today with 2 X tbeamās 6m and 1 X ttgo2.1.6. All running the new version with Android app 0.9.80. the two tbeams connected to the app via Bluetooth and the other one flashed and standalone (acting as a repeater).GPS much improved from the last version on the tbeams, nice and quick lock. New screens working ok and the direction arrow accurately updating whilst out and about. Message delivery seems quicker on this version.
Both phones on Android 10
All running 433mhz maxed range out around 700m with stock antennaās, seeing a range increase from previous testing with only two units. Only issue Iāve encountered is on of the tbeams forgets my name, reverts back to the device name. Really good fun now to sort out those python scriptsā¦
Thanks all
So 5 hr later all three still connect to the app as I hit their icon on the connection page. All three are textable. All show correct time on line. Long messages wrap well and look good. All the devices name themselves with their unigue identity and on the channel page I see default G (ghosted) and channel options shows very on range (but slow) - as ghosted. Looks very good.