sparkfun / SparkFun_u-blox_GNSS_Arduino_Library

An Arduino library which allows you to communicate seamlessly with the full range of u-blox GNSS modules
Other
227 stars 100 forks source link

Ability to set Position Accuracy #223

Closed cyclops1982 closed 5 months ago

cyclops1982 commented 5 months ago

Can we set Position accuracy?

Hi, i'm wondering if it would be possible to set the Position Accuracy mask via UBX-CFG-NAV5 message in this library?

I can't find a method for this, and i'm wondering why it's not there. Would a PR with that added be accepted?

Your workbench

PaulZC commented 5 months ago

Hi Ruben (@cyclops1982 ),

If you want full control over NAV5, you could achieve that with a custom command - see Example20.

If you just want to change pAcc via posMask, then yes, sure, we would accept a PR. I'd suggest starting with setDynamicModel and adapt it for setPositionMask. Add your new methods to .h, .cpp and keywords.txt.

Looking at the code for setDynamicModel, I'm wondering if I should be using read-modify-write on the two mask bytes? I think this line should be deleted, and this line should actually be:

payloadCfg[0] |= 0x01; // Set the dyn bit - leave others unmodified

Please include those changes in your PR.

For posMask, you want payloadCfg[0] |= 0x10; and load your uint16_t pAcc into payloadCfg[18] and payloadCfg[19] - little endian.

Best wishes, Paul

cyclops1982 commented 5 months ago

Thanks @PaulZC - PR #224 created. Please have a look, very welcome to receive feedback!

It does seem to need a change to make sure 18 and 19 are filled instead of jsut 18.

PaulZC commented 5 months ago

Resolved by #224