u-blox / ubxlib

Portable C libraries which provide APIs to build applications with u-blox products and services. Delivered as add-on to existing microcontroller and RTOS SDKs.
Apache License 2.0
287 stars 82 forks source link

Cellular Callback for Signal Changes #259

Open michaelboeding opened 1 week ago

michaelboeding commented 1 week ago

I think it would be useful to have some simple callbacks for cellular connections that respond to changes in signal strength, using straightforward categories like Good, Fair, Weak, and Poor. From what I understand, the type of connection (e.g., 2G, CAT-M1) affects how current signal strength categories are interpreted, with each transport type having different implications. I've tried to construct my own system, but I'm not an expert on the meanings of specific signal metrics such as RSRP dBm, RSRQ dB, RSSI dBm, RxQual, and SNR dB. It would be helpful to have notifications about changes in these signals, such as 'degraded signal due to X', etc.

RobMeades commented 1 week ago

Hi Michael: always going to be a difficult topic this. The module does not emit notifications of this nature, so something would have to poll for the information, and I'd probably suggest that the application does this.

Then the data has to be interpreted, and I think what you're saying is u-blox is probably best placed to provide a useful interpretation, which is probably true. Maybe what we're talking about here is some kind of helper function, and an example to go with it? The helper function would be called periodically, and maybe also on a given set of triggers (registration, connection, etc.) by the application and would have a [short] memory that would allow it to be able to judge "degraded" kind of outcomes.

We will discuss internally.