GPS: Beidou should use B1, B1C as appropriate for concurrent Glonass
Beidou has two options, B1 or B1C. B1 is faster to first fix, but the M10 cannot use B1 concurrently with Glonass. Using B1C instead allows Beidou to be used concurrently with Glonass on M10.
This commit uses B1 when Beidou is active without Glonass, for best Beidou performance. When Glonass is also active, it uses B1C to allow both Beidou and Glonass to be used together.
Additional background information from u-blox datasheet:
From https://content.u-blox.com/sites/default/files/MAX-M10S_IntegrationManual_UBX-20053088.pdf
2.1.3.1 BeiDou B1I and B1C signals BeiDou B1I and B1C signals differ in terms of the center frequency, bandwidth, and modulation. Therefore, there are differences in performance and supported GNSS signals and features. Benefits of using BeiDou B1I signal: BeiDou B1I offers superior GNSS performance. High start-up sensitivity and fast time-to-first-fix (TTFF) enable acquisition of a large number of BeiDou satellites. The tracking and reacquisition sensitivity for acquired signals is approximately at the same level for BeiDou B1I and B1C. • Faster TTFF and higher start-up sensitivity. BeiDou B1I signals are acquired significantly faster and at a lower signal level than BeiDou B1C signals. • Better availability. Higher start-up sensitivity results in a larger number of BeiDou satellites tracked and used in navigation solution especially at low signal level. • AssistNow Online support. Enhanced start-up sensitivity and TTFF. • Power save mode (PSM) support. PSM cyclic tracking (PSMCT) and on/off (PSMOO) mode operation are supported. Benefits of using BeiDou B1C signal: BeiDou B1C signal has the same center frequency as GPS L1 C/A enabling concurrent use of 4 GNSS constellations. Multi-GNSS configurations with BeiDou B1C also have a lower power consumption compared to those with BeiDou B1I. • Concurrent reception of 4 GNSS with GPS L1 C/A, Galileo E1, BeiDou B1C, and GLONASS L1OF. • Lower power consumption. No additional frequency band required for BeiDou B1C in multiGNSS constellations resulting in a lower power consumption during acquisition and tracking phases.
Before commit:
After commit:
So, at least on my m9 with SPG firmware, BDS_B1C is not supported.
Unless we figure out a good way to identify supported channels, a good compromise is to expose channels in different settings.
The downside is the exploding number of settings that could end up as
@sensei-hacker are you targeting 7.1 or 8.0 for this?
@sensei-hacker are you targeting 7.1 or 8.0 for this?
I've been working on this, trying M9 and M10 and various combinations.for the last couple days. There is a clear, simple fix which should probably go in 7.1 if possible.
Later, for 8.0, maybe we can get more sophisticated with M9. Within the next few hours I'll put in a PR against 7.1 that just fixes the clear and simple problem.
This is mostly superseded by #9646. If future firmware updates from U-Blox create a problem on M9, I'll come back to this. For now, #9646 fixes the issue on M10.