Suddenly started getting "data was NOTACKNOWLEDGED (NACK) after 23 msec"

Here’s a capture from the device that is working properly. Do you still see the same clock stretching?

And I will try the firmware update later today.

BTW, I found that I was getting an MBED OS stack overflow when updating the GNSS library from 2.0.15 to 2.1.5. I didn’t try any of the many versions between the two so I’m back to 2.0.15 and it seems stable. Let me know if you think there’s an important update in there that I need or if you want me to log the MBED OS crash info. It is very slow to switch those since compiling is so slow etc…

I just finished testing firmware upgrade and effectively see the same NAK problem from u-center and can’t even start a firmware upgrade on that device. It lets me connect to it, but reverting to default configuration, or starting a firmware update or any other settings change all fails.

I confirmed with a different/functioning board that I can perform firmware updates successfully from ucenter - so know-how isn’t the issue.

Oh well I guess. I think I’ve tried all of your ideas. Let me know if anything else comes to mind. I’m a little unsettled on this and we’re making a big investment in to this board. Is there someone else there who might have other ideas on things to try? Or if I sent it to you is there more analysis you could do?

Hi Richard,

You’ve been very thorough. I really don’t have any more suggestions. I haven’t seen this kind of damage before - and that includes the many u-blox modules I’ve sent above 30km altitude on scientific balloon flights…

Please try selecting “Enter safeboot before update” and/or “Use chip erase”, and give the firmware update another go. I did have one module that needed chip erase to be set before it would upgrade, but that was a long time ago.

I think I’ve managed to replicate your GNSS Library MBED OS crash. When using Callbacks, I think the library tries to pass too much data using the stack. The same code works fine on ESP32 and SAMD, it seems to be limited to Mbed platforms. I’m working on a fix but I think I’ll need to break backward-compatibility to correct it… I’ll let you know when I have more info. For now, please keep using v2.0.15.

Best wishes,

Paul

Thanks for looking in to the MBED OS crash and solution. Since I’m not looking for a feature I don’t have staying at 2.0.15 is ok for me (unless somehow this issue I’m seeing is due to a bug that got fixed along the way). I really appreciate you looking in to all of these issues!

As for the chip erase, no-matter what options I choose on the firmware update screen I can’t get the green button to appear on the bottom left. It’s always grayed out and nothing happens when I click it. Same for “enter safeboot before update”. That’s what I meant by “not being able to get the firmware update to start”. On another device the green button appeared as soon as the firmware update widow appeared.

Hi Paul, is there any advantage or disadvantage to disabling all but the autoPVT? I heard that the SAT frames can be large and maybe some of the others can be quite large too. We aren’t using any of the other reports and maybe this cuts down on the overhead?

         sensor->setAutoPVT(true);

          sensor->setAutoNAVPOSECEF(false);
          sensor->setAutoNAVSTATUS(false);
          sensor->setAutoNAVATT(false);
          sensor->setAutoDOP(false);
          sensor->setAutoNAVODO(false);
          sensor->setAutoNAVVELECEF(false);
          sensor->setAutoNAVVELNED(false);
          sensor->setAutoNAVHPPOSECEF(false);
          sensor->setAutoHPPOSLLH(false);
          sensor->setAutoNAVPVAT(false);
          sensor->setAutoNAVCLOCK(false);
          sensor->setAutoNAVSAT(false);
          sensor->setAutoRELPOSNED(false);
          sensor->setAutoAOPSTATUS(false);
          sensor->setAutoRXMSFRBX(false);
          sensor->setAutoRXMRAWX(false);

Hi Richard,

It isn’t obvious, but calling setAuto…(false); still allocates memory to store that message. Even though you’re disabling the message. Only myGNSS.end(); deallocates the memory. If you only need PVT then only call setAutoPVT. Ignore the others.

Best wishes,

Paul

Ok, thank you!

One more tip for today. I notice that in the ublox datasheet there are many ways to tune or configure an active antenna, and I see a few defines in the sparkfun library. Is there any way yet to do any active antenna tuning or any advantage you are aware of to doing so with the sparkfun library?

I’ve never used the tuning features… Or found a need to use them…

This is the antenna we’ve selected (seems to perform well so far for us - and purchase them customized by Taoglass to a 30cm cable length instead of the 3 meter cable length). Have you used this antenna or have any comments on that? https://www.taoglas.com/product/magmax- … antenna-2/