I have created issue #146:
https://github.com/adafruit/Adafruit_IO_Arduino/issues/146The exception seems to be relatively consistent at 20+ feeds. I just commented out one feed—for a total of 19 feeds— and uploaded the sketch and after about ten minutes, I have not received an exception yet.
But note that the reason I found this issue was because I was troubleshooting general lockups on the device that are seemingly random; it may lock up after several weeks or only after several hours. I haven't found a pattern there yet. The device doesn't normally remain connected to my laptop, so troubleshooting the lockups is difficult and is something I've been working on for months (I started tracking it in August but have been fighting with it for longer than that). The device is normally deployed and working as a web gateway for several other LoRa devices. Because it is 'in production' I have resisted taking it offline for long periods to troubleshoot it, until now.
The device has been used in production for years. As I've continued to add LoRa devices to my home network, I've started seeing more lockups with the Huzzah. I don't know if those random lockups are caused by increased AIO feeds or a problem with my code or a combination of both. It's difficult to troubleshoot the device after a lockup when it isn't connected to a Serial output. However, with very simple code (and without the LoRa featherwing configured at all) I am able to force this specific exception with relative consistency: with ~20+ feeds configured.
I would also like to note that the exception output always contains the line number of my sketch that contains the following line, a loop which I copied from the "multiple feeds" example sketch provided with the library):
- Code: Select all | TOGGLE FULL SIZE
while(io.status() < AIO_CONNECTED) {
The line number may change if I add or remove code before that line, but the exception output always contains that line from my code.
Thanks again for your help and let me know what else you might need from me.