| 
    QuectelTowerRK
    
   | 
 
Cellular tower information for Particle devices with Quectel cellular modems
This includes:
This library extracts the tracker_cellular.cpp and tracker_cellular.h files out of the tracker_edge project and renames the class to be more generic.
It also adds blocking and callback methods, instead of requiring a fixed delay after calling startScan.
See examples 1-simple and 2-async for blocking and non-blocking usage.
There are two main reasons to use this class:
One issue with Cellular.RSSI() is that it is blocking, and if the system thread is blocked, it can block for a very long time, up to 10 minutes. This class includes a thread for getting serving and neighboring cell info, but also includes a request to get the CellularSignal (strength and quality) information. By using getSignal() in this class instead of using Cellular.RSSI() directly, you are much less likely to be blocked. The RSSI is updated every few seconds. This technique is also used in tracker-edge and monitor-edge, and is how the signal strength LED is implemented.
Other notes: