Add LMIC polling from loop (https://github.com/ecocurious2/MultiGeiger/commit/134159f33534ce9a21f904499fc5aed76661cca7). The LMIC requires continous polling while it's active; "activity" can go on a long time, because it's based on network activity and internal state. Polling the LMIC takes essentially no time if there's nothing in the queue, so this will not disturb things in the rest of the app.
Work around LMIC bug 677 (https://github.com/ecocurious2/MultiGeiger/commit/b8d13b5072a59881cd0569418420debd454abc99). The lack of polling uncovered another problem, which is that the LMIC was not checking all the important flags to prevent transmitting while the LMIC is busy. The correction prevent that. The change will be redundant once the LMIC incorporates the fix, but not harmful.
This PR has two distinct changesets.
Add LMIC polling from loop (https://github.com/ecocurious2/MultiGeiger/commit/134159f33534ce9a21f904499fc5aed76661cca7). The LMIC requires continous polling while it's active; "activity" can go on a long time, because it's based on network activity and internal state. Polling the LMIC takes essentially no time if there's nothing in the queue, so this will not disturb things in the rest of the app.
Work around LMIC bug 677 (https://github.com/ecocurious2/MultiGeiger/commit/b8d13b5072a59881cd0569418420debd454abc99). The lack of polling uncovered another problem, which is that the LMIC was not checking all the important flags to prevent transmitting while the LMIC is busy. The correction prevent that. The change will be redundant once the LMIC incorporates the fix, but not harmful.
I also have a similar patch for V1.14.0; if you like I will push it (otherwise it can be found in the fork, released as https://github.com/terrillmoore/MultiGeiger/releases/tag/V1.14.1-beta2).
I do not have a multigeiger, so testing was done by @perpaul, and he reports that this corrected his stability problems.
I think this addresses your issue #373.