Mesh Network behavior question

I have an Argon meshed with two xenons presently. I am trying to learn how the network behaves. I had the gateway and the two xenons all breathing cyan. I disconnected power from the gateway, and the application code continued running ok in the xenons, Mesh.publishing and Mesh.subscribing data to one another occasionally as they continued communicating with one another for while. Finally, both xenons began flashing green. I restored power to the gateway, and both xenons only got to the level of blinking (not breathing) cyan. They continue to blink cyan, with occasional yellow LED blinks, and the application code runs intermittently during this cyan blinking state.

Two questions:

  1. Can the xenons ever initiate communications with one another without the gateway, if the gateway is down?
  2. Do I need to execute some mesh command in my xenon applications to get them back into the state of breathing cyan?

The Xenons should have reconnected automatically. It should be much more reliable in 0.8.0-rc.26, which should be out next week.

You need to use SYSTEM_THREAD(ENABLED) in order to get Xenons to communicate with each other without a gateway. Otherwise, without a cloud connection your code won’t run.

You still need a gateway to set up, add devices, and do OTA code flash to Xenons on a mesh network. However, with threading enabled the Xenons can communicate using Mesh.publish and Mesh.subscribe with the gateway powered off, even cold booting the Xenons.

2 Likes

it is important to not combine SYSTEM_THREAD(ENABLED) with SYSTEM_MODE(MANUAL) otherwise the Xenons won’t communicate. This may be fixed in the next firmware release 0.8.0-rc.26, @rickkas7 would know for sure.

I put the code: “SYSTEM_THREAD(ENABLED);” into my applications in both xenons above the void setup() line, and then disconnected the gateway as before. As expected, they ran the application as usual for a short while, then began flashing green (both of them). The mesh.publish/subscribe application continued to work while they were flashing green.

Then I re-powered the Argon gateway. One xenon went back to breathing cyan almost right away, but the other only reached the state of flashing cyan, not breathing cyan for maybe 8 minutes before finally transitioning to breathing cyan. The mesh publish/subscribe application continues to run regardless of the blinking or breathing state of the LED.

After a few minutes, I turned the power off the gateway again. One xenon’s LED went to a very dim cyan LED indication and stuck there. So, I did a reset on that xenon, and then both xenons began flashing green again. The application code did not seem to be working this time while the LEDs were flashing green.

Re-powered the gateway and both xenons remain flashing green and the application code in them is not working. The Argon is breathing cyan.

So, I had to reset each xenon to get them to return to breathing cyan and running the application code again.

That is my experience. It relates closely to what Jseller reported in the previous post…but the first power off of the gateway produced the symptoms rickkas7 projected I think.

I will do some more testing.

There is also a separate issue where the Xenons won’t reconnect to the gateway if the gateway is reset or powered down then up again. It’s worse the larger number of devices attempting to reconnect. This should be fixed in 0.8.0-rc.26, to be released next week, I believe.

1 Like

I think I will not focus on these issues until we receive the next release that rickkas7 is talking about. I have many other things I can try to learn.

Thanks again for your support.
Tom