Device code release announcements

0.1.6 released.

Good news
This fixes a serious bug in button behavior on the TBEAMs (it was not waking from sleep on press).

Also, a completely different GPS driver allows substantially lower power consumption (haven’t remeasured yet, but I wouldn’t be surprised if it isn’t now up to five days) and much faster GPS acquisition.

Bad news
I had expected this to be a quick 1 hr matter of switching GPS libraries, but the new library I selected (needed to use the ‘native’ ublox packet mode on the GPS) had bugs that took the whole day to fix.

So I’m sorry @jeksys, but the stuff I promised I’d do today (channel sharing and a video of the app) won’t happen until tomorrow.

Files and release notes here: https://github.com/meshtastic/Meshtastic-esp32/releases/tag/0.1.6

2 Likes

geeksville Thank you for the update and don’t worry, It will take me time to understand all the details of the project before I start working on the app. Also the more stable Android version the faster it will take me properly implement iOS. And I’m still waiting on my devices.

2 Likes

btw: I just noticed a problem with this release. It will only affect HELTEC devices, so if you have something running HELTEC don’t upgrade for now… I’ve already fixed the bug, but I’m too lazy to push out a new build tonight.

Thanks for the heads up!

0.1.7 device code released! (Sorry ya’ll, the new android app release is going a little slower than expected because of various sudden Covid lockdown issues I had to deal with this week. But I should have it out in a couple of days with some nice new features and bug fixes)

A quick small release to fix some bugs that showed up the last few days. Thanks everyone for the reports.

Fixes of note:

  • Some OLED clone displays discard the first write, so we now draw the boot screen twice
  • Possible fix for bug #17 for users to test and report back
  • Allow GPSes to work even on HELTEC style boards (but you’ll need to connect the GPS to the two serial pins)
  • @girtsf added a slick tool to analyze crash reports
  • Fix the breakage I introduced for HELTECs in 0.1.6

Credits:

  • Woot @girtsf is coming up to speed and fixing things!

Full list of changes:

1 Like

… and I just noticed that one of my (three) tbeams has problems with the gps in this release (the others are fine). I’ll push out a build in a couple of days with the fix: https://github.com/meshtastic/Meshtastic-esp32/pull/43

0.1.8 Everyone will want this change, a lot of important fixes

Great fixes from @girtsf (related to bluetooth android problems and general cleanup):

  • Work towards separating out how Screen interacts with other stuff.
  • Screen should now be thread-safe. All commands to it are put in a
    queue and handled in doTask from the loop() task.
  • Break dependency from BluetoothUtil to Screen by changing the
    pairing request into a callback.
  • All accesses to screen now happen through the class.
  • Fix drawRows so that the text scrolls along with frame animations.

Changes from geeksville:

  • Oops, my recent GPS ‘improvements’ broke the compass display update, fixed.
  • We now report dynamic ‘has working gps’ data to the phone (so if your device doesn’t have a GPS the phone automatically helps out and provides position data for this node)
  • devices that only have a single data wire for their GPS should now work.
  • Whenever you are watching a node on the OLED display, behind the scenes the devices will be exchanging your position more quickly than normal (just for those two nodes), to ensure a nice user experience if you are trying to get to someone.

When I was looking at the TTN forums about tt-go t-beam and the TTN Tracker there was speculation that ublox gps could be fake. If they are fake they dont support many of the advanced features, so some commands/modes just dont work. I thought it worth mentioning in case you have some issues with them not behaving as they are documented. Both of mine have a different QR code serial number on them, may be a sign that they are genuine.

Thanks! Possibly and good to know but so far they seem to match the datasheet command responses. Btw I’m still super flumotized so it will be a couple of days before I’m coding again. Possibly @girts might do a release but otherwise not till tue/wed I think.

Release 0.1.9! Everyone will want this change, it fixes some serious bugs.

Highlights:

  • The failure to connect from the phone to the device should be fixed now
  • An ‘installer script’ now programs devices completely from scratch, so HELTEC clone devices should now work. Would one of ya’ll mind testing the new instructions I added in the README? If someone wants to make a Windows batchfile version of device_install.sh, that owuld be great!
  • We now keep full elf files in the release zip, which makes it easier to debug remote crash reports (though this does make the zip file quite a bit larger)
  • Device bugs are now reported up to the phone (and then back to the devs via analytics starting in the next Android release). This should help a lot in tracking down remaining problems that happen in the field.
  • @girtsf flipped the TBEAM screen so it has the correct orientation.

Full list of changes:

1 Like

Release 0.1.10 Minor improvements - update if you want.

Highlights:

  • When you press a button to wake the screen, the device will now (behind the scenes) ask any remote node you are looking at to exchange updated position data. This should make navigation to other users work much better once you are close.
  • Devices that don’t have a GPS will now automatically learn their network time from other nodes on the mesh that do have GPS (either built in or because the attached phone is helping it)
  • More debugging support to track down a couple of issues that show remotely but not here.

Release 0.2.0 Some good improvements! Upgrading is recommended.

Also included are untested builds (because I don’t have the hardware) for: the original 0.7 version of the TBEAM and both the 1.0 and 2.0 versions of the TTGO Lora board. I’ll post on the forum with more details and ask for someone to try it.

Highlights:

  • @girtsf added show GPS lock status and battery voltage on the debug screen
  • @spattinson fixed interrupt handling for the AXP192 power management chip on the TBEAM boards
  • Changed to use the platformio build system for our various different board types (rather than the old hacky way we used to do it). Thanks to @sensorslot for the pointer to https://github.com/arendst/Tasmota and thanks to Tasmota for the settings I copied from you :wink:
  • Plausible settings for TBEAM07, TTGO LORA V1 and LORA V2 boards based on spreadsheet from @sensorsiot and reading various git repos

This release zip is getting kinda big. At some point we’ll use fuse bits for the various regions/frequency bands. And we’ll stop needing a different build for each region. Sometime in the next couple of weeks I’ll probably turn firmware update over bluetooth back on in the android app.

2 Likes

Release 0.2.3 Some good improvements! Upgrading is recommended.

Highlights:

  • @android606 contributed OS-X build instructions
  • A bug in our LORA receive code could cause corrupted packets
  • Some NEO 6M gps give bogus time info until their internal battery is charged
  • radio config information wasn’t being properly passed to the phone
  • We weren’t turning on bluetooth while the device was in the DARK power management state
  • Fix bug #73 reported by @lburrowes

This release zip is getting kinda big. At some point we’ll use fuse bits for the various regions/frequency bands. And we’ll stop needing a different build for each region. Sometime in the next couple of weeks I’ll probably turn firmware update over bluetooth back on in the android app.

Full list of changes:

Great ! Thanks ! Redoing all my board tests directly with the new brews.

btw, you might want to wait a bit. Because there is another good fix here (though only really relevant when more than a few nodes are on the same network) and it will probably be a couple of days till I push out a build with it:

2 Likes

UPDATE: hmm - one of my four test devices stops sending packets with this load. I think ya’ll should wait for the next release. Don’t download 0.4.1 for now…

0.4.1 This release has lots of good changes/progress. Real mesh networking is back in. However, two warnings:

  • you’ll need to update all your nodes for this change (it is not backwards compatible)
  • it might have more bugs than usual

Highlights:

  • Reimplement full mesh networking (just flooding for now though - which is all we currently need). Now truly a mesh once again
  • Experiment with using disaster.radio’s mesh implementation - which for a variety of technical reasons turned out to be not a good fit at this time. We might share a lib in the future.
  • remove most of the unused radiohead code
  • comment out tbeam0.7 builds until someone with that old tbeam can test and debug
  • substantial cleanup of the networking code
  • add lora32 v2 fixes contributed by @eriktheV-king and @BeardyWalrus
  • increase screen timeout - thanks to @android606
  • add collision avoidance for transmit - substantially decreases the odds of dropped packets
2 Likes

(btw - if you build your own from source: it seems like platformio isn’t properly deleting the dependency on radiohead. manually “rm -rf .pio” in your build tree and platformio will refetch what it needs.

1 Like

okay 0.4.2 quickly out to fix the nasty bug @eriktheV-king reported which I was finally able to reproduce:

1 Like

… and after another 8 hrs of stress testing, sloshing around packets of a mesh with five nodes. Another low level driver bug in radiohead showed up. I’ve fixed it but I won’t bother pushing out a build with this one, because it seems super rare. I’m working on android bugs for the next couple of days, so this fix won’t go out till next week sometime:

1 Like

0.4.3 oops, recent builds were all using US frequencies. If you are outside the US, you should upgrade ASAP (and really really - soonish I’ll turn on software update from the android app)

Thanks to @spattinson and @eugene for the report. I’m sorry about my mistake.

1 Like