2024-03-25 10:23 AM
Hi, i started a project to get the position using a x-nucleo-gnss2a1 based on Teseo-VIC3DA and st board F446RE.
I used STM32Cube mx to generate the code with the expansion software package X-CUBE-GNSS1 for the GetPos Application.
Following the instructions in the documentation available on st.com and configuring properly the hardware setup of the gnss2a1 board, i get incorrect coordinates (how you can see in the photos) respecting to my position in Turin. In the attached files you can find the output of the generated code.
I have no idea how to fix, thanks for the attention.
2024-03-25 11:49 AM
Something like the NMEA Sentence output might be helpful to understand what's happening here.
Look to the Cause rather than the Symptom
2024-03-27 03:44 AM
How could i generate the NMEA Sentence output?
2024-03-28 11:54 AM
Hi Lorenzo,
This might be a bug in the demo program you are trying to use.
In this demo program, can you inspect the pGNSSParser_Data->gpgga_data or pGNSSParser_Data->gpgga_data in NMEA_parser.c
Additionally you can inspect gnssMsg->buf in app_gnss.c.
To see this in debugger and just for debugging, declare global variables and assign the values to these global variables.
Besides what is suggested above, if you private message me, I can send you a firmware that is just sending NMEA data over UART.
2024-03-28 11:58 AM
The raw serial stream coming from the receiver should be in an ASCII human-readable form. Capture THAT, say in a terminal with a direct connection to the receiver, or you forwarding to a terminal via your MCU connection.
2024-04-02 05:58 AM
Have you been able to inspect the variables or the buffer variables in the program and observe what values of coordinates you are receiving? Doing this is the least intrusive way..
Additionally you can connect to Teseo Suite and observe output directly coming out of the module. Some jumper adjustments are needed in this case.
Can you interface to Teseo Suite directly by bypassing the GNSS library running on STM32? This way by reading the data coming out of serial stream, we can ensure there is no problem with receiver and isolate the problem to firmware.
To do this, refer to schematic of GNSS2A1 board.
Remove jumper connected to J27 and J28.
Connect a UART to USB cable to J27-Pin2, J28-Pin2 and GND,
Open Teseo Suite. You should be able to see communications. Teseo Suite should automatically detect baud-rate and show GNSS information. If not, add the device manually, using "Add Device" option.
Looking at the NMEA messages you can ensure your coordinate correctness.
Also, please ensure, that GNSS2A1 is running the latest firmware. You can download latest firmware here, https://www.st.com/en/embedded-software/teseo-vic3dsw.html
You can use Teseo Suite to upgrade firmware.
Go to Tools > Teseo FW Upgrade.
Attached is a reference on the procedure. This picture was from an older version of Teseo Suite but the fields are the same.
2024-04-03 08:40 AM
thanks so much for the replies, but I will return to Turin this week and I will be able to work on the project again. I will follow the advice and let you know as soon as possible, even in private would be ideal. I can tell you that I had already tried to connect with Teseo-suite but without success, but I had not followed some of your steps indicated in this message, but I had based myself on the guide available on your site
2024-04-08 03:43 AM
Important news. I removed the jumper connected to J27 and J28 and then i connected a UART to USB cable J27-Pin2, J28-Pin2 and GND and next i opened teseo suite and the coordinates were correct, how you can see in the attached files.I downloaded latest firmware and i tried to update, but it failed (in the attached files you can see the settings as specified in the procedure). Now I can no longer see the coordinates and previous results. I hope you can help me and thanks for your availability
2024-04-11 10:10 AM
I have sent you private message on this.
Please read the buffer in teseo_liv3f_queue.c and suggest to look at the coordinate values.