I am trying to update the firmware on a LC76GPB GNSS module on my board. I don’t have access to the GPS Tx and Rx lines directly without soldering wires directly on to the module, which I am trying to avoid. I am connecting to my board over RTT.
My solution is to:
Have a virtual COM port pair, connect to QGNSS to one part of the virtual pair, and have the other pair connect to a UART ↔ RTT bridge.
So my flow of data looks like this: QGNSS ->Virtual COM port pair ->UART to RTT bridge → RTT gets written to STM32U08 → STM32U08 forwards RTT message to LC76GPB over UART → Response from GPS gets written to RTT-> RTT forwards data to UART → Virtual COM port pair → QGNSS.
I got this working, however when QGNSS attempts to send the Da file to the device, it expects a checksum to be returned, however this checksum from the GPS is not being sent to QGNSS in time (QGNSS returns [14:22:29.768] ag3352_download send_Da_file error -3
[14:22:29.783] qgnss_flash upgrade fail,ret:[-1]). Which I’m assuming is the app timing out before getting the checksum.
Is there a way to increase this timeout in QGNSS?