-
Notifications
You must be signed in to change notification settings - Fork 104
Automatic NMEA - VTG, RMC, ZDA #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi Tomasz (@TakiKroSmaN ), |
Hi Paul, GNSS: NEO-M9N I'm read over UART NMEA data (enabled only required VTG, RMC, GGA, ZDA) and send it to the TCP/IP client which is RaceChrono apllication on my phone. `
` |
Hi Tomasz (@TakiKroSmaN ), OK. I think I understand what you are trying to do. Please check that 9600 baud is fast enough to handle all the NMEA messages at 20Hz. I suspect you are trying to send too much data for 9600 baud. I think you need to use a higher baud rate? You can use Instead of using serial, you could enable the NMEA messages on I2C. Then 'process' them (push then to WiFi) with I can see how full "auto" support would help this, but, as I said, it is a lot of work - and you are the only person to have asked for it. ;-) I am happy to leave this request open, but it will be a long time before I can implement it. If you have time, please add the required code yourself and send me a Pull Request. Best wishes, |
Also, it is not clear if you have the PVT messages enabled? |
OK, I will check your tips and let you know. |
So, if I use band higher than 9600 I get communication problem (char error or stall for 1 sec).
I have no idea how to put in |
If we think about how much data you are trying to transfer: GGA + VTG + RMC + ZDA $GPGGA,002153.000,3342.6618,N,11751.3858,W,1,10,1.2,27.0,M,-34.2,M,,00005E That is 223 characters. And that doesn't include the extra decimal places for the high resolution Lat and Lon. At 20Hz, you are trying to transfer close to 4500 Bytes per second. For serial, that is 45000 bits per second. So for serial, you need to use at least 57600 baud. Probably 115200 to be safe. 100kHz I2C should be OK. But that does not include the PVT message. That adds another 100 Bytes per message. At 20Hz, you're now trying to transfer 6500 Bytes per second. 65000 bits per second. 115200 baud serial is probably OK, but 100kHz I2C is not looking good - there are large overheads with the I2C bus data transfer. Then you need to think about how large your buffers are. Is the serial receive buffer in the ESP32 large enough to hold the data while you transfer it to WiFi, or will it overflow? Then there is the data rate the ESP32 to phone WiFi connection can actually support - with all the transfer and application overheads. I do not know what that figure is.
I hope this helps! |
Hi Tomasz (@TakiKroSmaN ), It is your lucky day! I was doing more work on the library and decided to add the auto support you requested. Please see the new auto-NMEA examples 3 and 4 for more details. v2.2.3 will be released in a few minutes. Good luck with your project, |
Thank you very much! everything works perfect :) |
Hello,
Could you create the same function for VTG, RMC and ZDA data?
My data logger require that data in NMEA structure.
Data logger: RaceChrono.
Thank you :)
Regards Tomasz.
The text was updated successfully, but these errors were encountered: