Device code release announcements

It’s works for EU433 :+1:
Thank You!!!

1 Like

0.6.0

A lot of changes since the 0.4.3 release. Not urgent to upgrade unless you want to use the new python API.

0.6.1 out mainly to fix the build error for heltecish boards in 0.6.0:

per:
https://meshtastic.discourse.group/t/no-display-on-firmware-ttgo-lora32-v2-us-0-6-0-or-firmware-heltec-us-0-6-0/167

Hi Kevin, Maybe I better start a new topic for it, but just for now I’d like to know if any additional build instructions came up for homebrewing .bin files in PlatformIO? the last ones I saw are in Meshtastic-esp32/docs/software/build-instructions.md but then, they are referring to the wrong file to change countries and boards. Am I right to say these have now to be changed in Meshtastic-device/bin/build-all.sh ?
I did so, but when I do a PlatformIO build, I’m only getting one single default tbeam build when I fire the task ‘Build’ with output files firmware.bin and firmware.elf - No matter which task I’m launching, the output file names never take the country and language version (neither do they show them in serial monitor output when I load them into the boards) - am I forgetting sth ?

1 Like

three ways to target boards other than the default (which is listed at the beginning of platformio.ini):

  1. If you are using the platform IO IDE (really nice IMO) built into visual studio code, just scroll down and additional build options are listed for boards other than the default. Here’s the options for heltec:

  2. Change default_envs in platform.io to whichever board you are targeting (the complete list of boards are later in that file)

  3. If you prefer the command line use “pio run --environment heltec” or whatever. For an example of this command see bin/build-all.sh. That’s the script I use to build the .bins for all the various flavors.

Does that help?

I’ll try that out today, thanks friend!

Good job, Kevin! Just tried out my 2 nameless homebrews from yesterday on 2 tbeams with a phone with the 0.6.0 android app. All good! maps come up, messages get forwarded, all okay. I’m sharing my log here: https://www.dropbox.com/s/icl3iboffwz66xk/246f2899af40-Tbeam10-868-neo8-log.txt?dl=0
Only remark I can think of is that the tbeam with NeoN8M still says “ERROR: No bidirectional GPS found, hoping that it still might work” (the one you get the log from) – my other Tbeam has a NeoM6M (i really wanted one to compare!) and it does not give this error in serial monitor.

Addition: supplementary feedback: also made a brew for 2 TTGO-v2 (a v2.0 and a v2.2) which are running fine also !! The only thing is that I clicked 2ce on the ‘send bug report’ to indicate that after 2 pairing operations to my first board (the TTGO-v2.0), Meshtastic showed the board id in the devices list but still didnt want to connect to the board. Tried a 3rd time after i had erased the memory cache and data in the android>settings>app>meshtastic settings, after which connection was flawless and operation okay !
I’m sharing the serial monitor log from the 2.0 board here: https://www.dropbox.com/s/jv7efe1oamap8jb/d8a01d404de0-TTGOLoRa_v20-868-nr4.txt?dl=0

so yes it does build the images, but it outputs 1 firmware.bin file and 1 firmware.elf file in the .pio/build/board folder – what I also didn’t understand is how you got all those nicely named files per country and frequency without renaming them all?

Oh! I didn’t realize ttgo was now stuffing 8M GPSes. I can make that work also (the GPS lib we use supports either). I’ll put in a bug and do it soonish.

re: how the filenames for the release bins are generated:

That’s all due to two nested loops in the build-all.sh script. Here:

do_build ...
    pio run --jobs 4 --environment $ENV_NAME # -v
    cp $SRCBIN $OUTDIR/bins/firmware-$ENV_NAME-$COUNTRY-$VERSION.bin
    cp $SRCELF $OUTDIR/elfs/firmware-$ENV_NAME-$COUNTRY-$VERSION.elf


...

for COUNTRY in $COUNTRIES; do 
    for BOARD in $BOARDS; do
        do_build $BOARD
    done
done

Thought you might have noticed the different tbeam models in my big Excel. Starting from v 0.8 it’s M6N and from 1.0 onwards they gradually add M8N

1 Like

How can I run build all.sh in the terminal?I’m quite non cli experienced.

if your current directory is the root of the git repo (i.e. you are in the directory where platformio.ini is). Run:

./bin/build-all.sh

(don’t cd into bin before running the script)

0.6.2 released. Some pretty good changes but not urgent to upgrade:

  • fix the dropped packet bug. we now always listen before transmit for a few milliseconds. We also randomly jitter transmit times so the odds of two transmitters starting at the same time are super low.

  • Use ints for lat/long, which will improve accuracy on the map in the app (app update required)

  • limit max power on the rf95 to 17 dbm because 20 requires that we promise a 1% duty cycle or the part might overheat.

  • If we fail at convincing the GPS to switch to ublox protocol fallback to NEMA. I bet this will make the new tbeams with “neo 8m” GPSes work. Though I now kinda suspect those GPSes might be fake and they are just putting in cheaper generic NMEA GPSes. When my next batch of boards arrive maybe I’ll receive one?

Yes that’s about what I did and the script ran for about 3seconds before the window closed without being able to see why it stopped.i had to restart it several times before I could say it choked on the remove part of files it was to see in the firmware directory where I think you stored the older brews. But I had a good couple of hours learning time to understand it needs all this.thanks!

1 Like

I was able to talk to the M8N on my T-Beam through UBlox’s U-Centre using the ESP32 as a serial pass through. The one I have behaves like a genuine M8N in U-Centre so far which is surprising. Some of the defaults that might be of interest. 9600 baud on the UBX protocol, 1hz refresh, GPS and GLONASS selected (Beidou or Galileo another option). Bound to be a few other defaults that could be tweaked by Meshtastic for best results.

2 Likes

0.6.3 - thanks everyone for quickly noticing that 0.6.2 was busted. It is amazing what missing one word will do to a C++ program :wink:

Can confirm! Working really well now. Everything pairs up and communicates with messages getting through nicely. Excellent work! Also getting “Connected to UBLOX GPS successfully” with the T-Beam M8N.

1 Like

0.6.3 works like a charm!

1 Like

0.6.4 released: This is a major release with a lot of improvements (though possibly higher than usual chance of bugs). You’ll need to update all nodes in your net with this version (or a later version) because at a protocol level there have been some changes. This is hopefully the last time the protocol will change before 1.0.

Major changes listed below (many smaller changes also):

  • @mehuman improved the device install scripts and documentation
  • @Dafeman fixed bluetooth pairing when you are unlucky and the PIN was a number less than 100000.
  • Cryptography is now basically feature complete (though not reviewed by a crypto expert). Every channel is protected by an AES256 key and a rolling cypher.
  • NRF52 based boards are now mostly supported (in addition to the ESP32 boards)
  • TBEAMs will now charge faster than they used to
  • Reliable messaging is now mostly complete (both unicast and broadcast). You’ll need to update the android app though if you want to take advantage of this - see other thread.
3 Likes