Skip to content
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

[Bug]: PicoW GPS Firmware #3989

Closed
OskarZyg opened this issue May 29, 2024 · 6 comments · Fixed by #4741
Closed

[Bug]: PicoW GPS Firmware #3989

OskarZyg opened this issue May 29, 2024 · 6 comments · Fixed by #4741
Labels
bug Something isn't working

Comments

@OskarZyg
Copy link

Category

Hardware Compatibility

Hardware

Raspberry Pi Pico (W)

Firmware Version

2.3.7.30fbcab

Description

The Pico W works just fine with GPS, but the firmware doesn't allow it to support it.
It is already supported on picow-slowclock.

The changes I made to get it to work were:
GPS.cpp: set condition to true (in reality this would probably be defined(PICO) or whatever)
variants/rpipicow/variant.h: added #define HAS_GPS 1

I am willing to write the PR myself later on

Relevant log output

No response

@OskarZyg OskarZyg added the bug Something isn't working label May 29, 2024
@OskarZyg
Copy link
Author

OskarZyg commented Jun 2, 2024

I am experiencing issues with checksum failures. If anyone else can reproduce that would be helpful.

A more detailed explanation of the symptoms from the discord (thanks cynfab_63112):

you are losing data somehow, things like this--> $GPGGA$GPRMC,,V,,,,,,,,,,N*53 <-- indicate that the last part of the GGA sentence was overwritten by the following RMC sentence. This is a recurring problem in your whole post. IMHO TinyGPS++ isn't smart enough to disgard the first partial sentence and pick up on the next. Checksum failures result. Now the big question is what can be done about it.The root cause maybe too small a serial RX buffer, or some other software related issue. Probably best to invistagate what other RP 2040 varients are doing, do they work without checksum failures or not.

@Mictronics
Copy link
Contributor

I have seen checksum failures when implementing Waveshare L76B GPS support on the Pico. Solution is an increase of serial FIFO size.
See my pico_waveshare branch in my fork: Mictronics@766287d

What GPS you are talking about?

@OskarZyg
Copy link
Author

I believe I was testing with a u-blox 7. I'll retry with the increased FIFO buffer size, I wasn't aware that I could do that (i don't have much experience with embedded programming).

@fifieldt
Copy link
Contributor

@Mictronics ,did you have time to send in that FIFO size patch, or want help?

@Mictronics
Copy link
Contributor

@fifieldt The support for this patch is not fully implemented in official firmware. The code transfer from my fork into meshtastic official was done by caveman99. Change of the Serial interface class was either not included or modified again after.
Till now I hesitate to create a PR since I don't know what impact it has on the remaining GPS code.
Also, the official firmware doesn't make a difference between Pico and Pico Waveshare, like I do in my fork+branch.

@fifieldt
Copy link
Contributor

Thanks for the rapid reply. I'm familiar with the GPS code, will try to take a look.

fifieldt added a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for PICOs only.

fixes meshtastic#3989
fifieldt added a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for PICOs only.

fixes meshtastic#3989
fifieldt added a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes meshtastic#3989
fifieldt added a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes meshtastic#3989
caveman99 pushed a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes meshtastic#3989
caveman99 pushed a commit to fifieldt/meshtastic-firmware that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes meshtastic#3989
thebentern pushed a commit that referenced this issue Sep 17, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes #3989
panaceya pushed a commit to mesh-mk-ua/meshtastic-firmware that referenced this issue Sep 20, 2024
As discovered and tested by @Mictronics, default Serial FIFO size
on the Pico is 32bytes, which is not enough for GPS messages.

This patch increases the Serial GPS FIFO buffer size to 256
for the RP2040 Architecture

fixes meshtastic#3989
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants