@catalin Thanks for the quick response!
I have started to work with the binaries you had uploaded, and all of sudden I get this exception over and over again:
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x400930de PS : 0x00060033 A0 : 0x80092689 A1 : 0x3ffbb3a0
A2 : 0x3ffbb3f0 A3 : 0x3ffbb3c0 A4 : 0x00000020 A5 : 0x3ffc413c
A6 : 0x00000002 A7 : 0x3ffbb800 A8 : 0x00000000 A9 : 0x3ffb4d38
A10 : 0x3ffbb414 A11 : 0x3ffc4144 A12 : 0x3ffb4d38 A13 : 0x3ffb4d30
A14 : 0x00000001 A15 : 0x3ffbb6f0 SAR : 0x0000000a EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000000c LBEG : 0x4009873c LEND : 0x40098747 LCOUNT : 0x00000000
Backtrace: 0x400930de:0x3ffbb3a0 0x40092686:0x3ffbb3c0 0x40093fb5:0x3ffbb3f0 0x40094302:0x3ffbb5c0 0x40093c1a:0x3ffbb600 0x40093e6e:0x3ffbb620 0x4008394a:0x3ffbb640 0x40090eb5:0x3ffbb700 0x40092c14:0x3ffbb720 0x40092bca:0x00000000
Any idea what might be the problem?
Sorry, @Danne, can't release source-code, for now.
So, using https://github.com/pycom/pymesh_apps/blob/master/custom_fw_bin/LoPy4.tar.gz , then having just this small code (no other scripts running):
from network import LoRa lora = LoRa(mode=LoRa.LORA, region=LoRa.EU868, frequency = 863000000, bandwidth=LoRa.BW_500KHZ, sf=7) mesh = lora.Mesh()
Do you still have error?
Next, you could try only this main.py: https://github.com/pycom/pymesh_apps/blob/master/pymesh_micropy_scripts/main.py
With the new firmware:
On the line:
in Loramesh I get:
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled. ...
Any possibility of getting access to the FW source? Would be fun to debug this, and I got at least 5 Lopy4 boards that are unusable right now with this problem...
Thanks @thinginnovations for pointing L01 modules.
For now there are some build errors, I'll check with the team.
When solved, I'll put them next to Lopy4 and Fipy: https://github.com/pycom/pymesh_apps
Just seen there is some new firmware for FiPy and Lopy4, are you going to create a version for use on L01 modules?
Yes, indeed before I've frozen
main.py, just for demo purpose.
Now (just now, I've updated binaries), the Pymesh is a frozen library, and using a nice main.py you can play with Pymesh features.
@catalin Thanks for the reply! I was able to load the tar files you had uploaded using the PyCom Firmware Updater.
However, I am not sure I follow its purpose. LoRa Mesh communication will start working on boot? From that point forward messaging over the LoRa Mesh network is done only using the Mesh CLI?
I am able to run a main.py file of lib/pymesh for example, but only after a few CTRL+C which stop the MESH THREAD.
@robert-hh That is providing Pycom build the firmware for the LoPy and include the LoRa Mesh functionality.
@thinginnovations You should expect that the LoPy4 firmware will only work on the L04 module (SX1276 chip) and the LoPy1 firmware will work on the L01 module, making however use of the larger RAM and flash. Similar to the WiPy firmware which works on both WiPy2 and WiPy3.
For Lopy4 release, will this work on the L01 modules as this has the same flash and ram as the Lopy4 or will it be only limited to the L04 OEM modules?
@catalin wouldn't it possible to put that closed stuff in a binary lib which will be linked when one builds the firmware?
@catalin Thanks for the reply!
Open-source would be nice!
Looking forward to the upcoming release!
For the moment we have removed the open-source Pymesh components from the public repositories, and also from the binary releases.
We prepared a process to release binary Pymesh releases, but the licensing is not yet set.
Honestly, we're not sure if we'll release open-source, depends on the licensing process.
First of all, let me thank you for this excellent project!
Pymesh paves way for many very interesting projects!
I have started on a project using a pymesh network, it's a simple network with LoPy4 nodes and WiFi access points with web-servers allowing people to find each other and then send encrypted messages over the Loramesh. I want to add batteries and solar-cells to the mesh nodes to make this project completely off-grid.
Cellphone <- HTTP over WiFi -> LoPy4 <-> LoRa Mesh
Questions for @catalin:
- Which firmware would you recommend for the early development of products using mesh? Should I wait for the upcoming release?
- I would like a version of the firmware with source-code to be able to debug things like "InstrFetchProhibited". The latest version of the Firmware (https://github.com/pycom/pycom-micropython-sigfox) does not include the OpenThread in pycom-esp-idf https://github.com/pycom/pycom-esp-idf . Is there a developer branch that I can get access to, if so which? I don't mind it being under development or if it crashes as long as I can build it and investigate further :)
I have being experiencing the same crashes as @robert-hh when using LoRa MESH with FiPy-1.20.0.rc8, and I know that LoRa MESH has been removed from new development builds such as FiPy-1.20.0.rc13.
I would like to know if a stable LoRa MESH version is planned anytime soon, or perhaps even a more stable development version?
@catalin Thank. That was the trick.
@robert-hh, I'm not sure how it works in Android, rights for using Bluetooth and localisation should be given to the Pymesh app (iOS asks when app is first time started).
Localisation right is required as GPS coords are sent to the node when BLE connection is established; and somehow BLE usage is linked to localisation services, too; honestly I did not investigated this.
@catalin BLE Scanner finds both devices active at the moment, but the pymesh app does not connect.
The Pymesh mobile app searches BLE Servers with name "PyGo*". I suppose pressing
Restart scanbutton doesn't solve situation. Try to use another mobile app, like
nRF Connect) to check if the Lopy is discovered (it should have 2 services advertised). Sometimes Android+iOS have some caching of BLE connections.
Basically, you can't have your own main, as several threads are in the frozen scripts, hence the zombie threads.
Now I am working a frozen Pymesh scripts(as library) which can be used with a user main.py+ config file, hope to be done to be included in next Pymesh firmware release.
@catalin Two question:
- I tried the Pymesh Android app, but it does not get any connections. Where and how does it search for a connection.
- With these standard binary images, how can I change the WiFi settings, e.g. into STA mode and DHCP? The code seems to be executed from _boot.py. If I interrupt is, the normal boot process continues. Funny enough, some of the pymesh stuff continues to run.