cancel
Showing results for 
Search instead for 
Did you mean: 

X-NUCLEO-GNSS2A1 - how to make it work without RTOS - initialisation and reading the NMEA data?

PDobr.1
Associate III

Hallo.

I have NUCLEO-L476 and X-NUCLEO-GNSS2A1 (with Teseo-VIC3DA). Of course, the only one present example, in "en.x-cube-gnss1" package for both boards (GetPos) works great, but all examples (including GetPos) available in package, work with RTOS. Unfortunatly, I am no familiar with RTOS, I will also not use RTOS in my project. I spent lot of hours to analyse the code and documentation, to find the way to use VIC3DA without RTOS without succes. I know also, that many GPS modules (for example from Origin GPS...) work just after powering it, the only problem is to efficiently parse the data from NMEA frames - there will be no problem with it.

And now is the question. How to:

  • initialise Teseo-VIC3DA module (without RTOS),
  • get NMEA data from it (after init), using I2C or USART?

It should be simple, but it is not. 

14 REPLIES 14

At the most simplistic level you probably want to open a UART connection, and forward content over the ST-LINK VCP so you can see NMEA Sentences coming from the receiver.

Then build something to collect lines of data from the stream, ie a string bounded by CR/LF. Collect data from UART, construct string, hand-off for processing whole lines.

How one might manage NMEA data from a GNSS shield on a STM32F746G-DISCO, simple, not-RTOS.

https://github.com/cturvey/RandomNinjaChef/blob/main/f746g_disco_gps.c

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Piranha
Chief II

Parsing UART message is not a problem at all. 

The thing I don't know how to do, is - how to force the Teseo module (from the board X-NUCLEO-GNSSA2) to send the NMEA data via UART to outside world. 

When you yave uBlox GPS or Origin or other device, you have to power it up and simply get the data. So - I don't know to force Teseo to do that. My app can't work with RTOS, so how to do this without RTOS? I've tried many things, without success.

SSri.1
Associate II

That's the main problem. Still don't know the firmware on this module runs, the flow of the data occurs?

PDobr.1
Associate III

I don't know how to make it run with my own code, of course examples with RTOS from ST pack work very well. I need a short part of code to make the Teseo flow the data at the outpt.