This repository has been archived by the owner on Nov 11, 2024. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
POSSIBLY BREAKING change to cellular routing of GNSS stream. (#1069)
When using a GNSS chip connected via or inside a cellular module it is necessary to tell the cellular module how to route the GNSS stream using the AT+UGPRF command; for instance, bit position 1 (i.e. 0x02) means to route the stream to the CMUX channel. The ubxlib code used to OR this bit into the pre-existing AT+UGPRF set, however the problem with this is that, on some module types, certain bit combinations are not supported (e.g. SARA-R4 doesn't support sending to both CMUX and the USB interface at the same time) and, on some module types, certain bits are set by default (e.g. SARA-R4 sets the USB bit (bit 0 or 0x01) by default); this can result in illegal combinations being requested. To avoid this the AT+UGPRF setting is now assigned, rather than ORed (so to route via CMUX it will be set to 0x02). The POSSIBLY BREAKING part of this is, if the application has set its own routing by using uCellCfgSetGnssProfile(), that will now be overridden. Should this present a problem you may set the conditional compilation flag U_CELL_PWR_GNSS_PROFILE_BITS_EXTRA at build time (default 0) and those bits will also be ORed into the "<GNSS_IO_configuration>" value of AT+UGPRF. Setting U_CELL_PWR_GNSS_PROFILE_BITS_EXTRA to a negative value will prevent ubxlib fiddling with AT+UGPRF at all.
- Loading branch information