Is the Scan Callback (onScanReportCallback) executed on a different thread than loop()? I am filling a queue object in the scan callback and then flushing the queue in the loop(). Is that a recipe for issues?
Reason I ask is I am trying to track down why the BLE radio just stops working after random intervals. It can not be re-initialized and stopping/starting scanning does not work either. A hard reset is the only way to restore functionality.
I wonder if the queue object is the problem.