Alpha tester thread (1.1.8 device code ready for alpha testing) šŸ™‚

thanks the fix should be in the next build

/*
                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ā€¦ :wink:

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
  • @Dafeman improved the build instructions
  • @Drewse added some more 3d printed case options
  • Fix a serious bug that could cause repeated BLE pairing messages on devices that have been used for a long time.
1 Like

ok thanks for this report. it was super useful! Iā€™ve just pushed out 0.9.81 to the alpha/beta test channels to fix this (I think)

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.

Terminal Log

1 Like

Hi,

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.

Sorry for the lack of detail. Using the new 0.9.6 and yes the middle button.

Hmm. That log was from a custom build (which is why it says version=unset) I think (not 0.9.6)

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.

Here is the steps i have taken.

  • Completely deleted Meshtastic-device folder
  • Git clone Meshtastic-device
  • Run git submodule update --init --recursive
  • Run ESP32 Download Tool v3.8.5 and erase
  • Verified bin/version.sh = VERSION=0.9.6
  • 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.

2 Likes

Oh! Thatā€™s a great clue. attn @mc-hamster possibly related to the new screen you added? Iā€™ll investigate tomorrow or Sunday.

1 Like

I b in as an alpha dog.

2 Likes

Iā€™ll look through that part of the code to try and reproduce it.

char coordinateLine[20] was too small. Dunno why it worked in earlier builds, maybe the string I got was smaller.

Checking in a fix.

1 Like

PR #380 should fix that.

Next is to figure out why it didnā€™t crash when I didnā€™t have latest GPS fixes. It shouldnā€™t have affected that.

1 Like

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 :wink:

1 Like

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!

2 Likes

No worries. Thanks for the fix and the original code!

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 :blush:

1 Like

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.

1 Like