Skip to content

Conversation

@fifieldt
Copy link
Member

@fifieldt fifieldt commented Nov 2, 2025

This patch makes major changes to address the current complexity of GPS Configuration.

Introduces GpsProfile, a new protobuf we use to configure a pre-tuned selection of GPS settings. The aim is to replace the current 5 configuration options with a single user-friendly label that is tailored to real-world Meshtastic use cases.

Based on a users selection of pedestrian, vehicle, airborne, or fixed position, we apply different settings to GPS Update Interval, Position Broadcast Interval, Smart Broadcast Min Interval, Smart Broadcast Min Distance, and Position Flags in firmware.
This should allow the apps to drastically simplify the position configuration shown to users.

We aim take advantage of the profile to improve the accuracy of our position information, such as by discarding erroneous positions based on physically impossible movement. In this patch we use advanced features in GPS hardware specific to each profile to do this. In a follow-up patch we'll extend smartPosition to handle cases in software where GPS hardware support for this is not available.

More information about the selections for each use case is available in this google sheet

PositionFlags has long been seen as a complicated and confusing burden in the apps. We determined that very few users use them, with the majority happy with the default set, and some of the 'advanced' flags don't even work.

After the protobuf declaration, this patch is the next step to deprecate PositionFlags,
which will now be selected in firmware based on the GPSProfile.

Depends on: meshtastic/protobufs#749

Co-Authored-By: @RCGV1 (#6650)

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

This patch makes two major changes to address the current complexity of GPS Configuration.

GpsProfile, a new protobuf we use to configure a pre-tuned selection of GPS settings.
The aim is to replace the current 5 configuration options with a single user-friendly label that is
tailored to real-world Meshtastic use cases.

Based on a users selection of pedestrian, vehicle, or fixed position, we apply different settings to
GPS Update Interval, Position Broadcast Interval, Smart Broadcast Min Interval, Smart Broadcast Min Distance,
and Position Flags in firmware.
This should allow the apps to drastically simplify the position configuration shown to users.

In this patch we take advantage of the profie to support new features in firmware to improve the accuracy of our
position information. For example, taking advantage of advanced features in GPS hardware specific to each case.
Because of this, some erroneous positions will be discarded based on physically impossible movement.

More information about the selections for each use case is available in this [google sheet](https://docs.google.com/spreadsheets/d/1-f9z5zx2VCYqE6ivYXm-XqtLeVZSGMKpC3G3wma6-vw/edit?gid=633840990#gid=633840990)

As part of the config screen simplication, this patch deprecates PositionFlags,
 which will now be selected in firmware based on the GPS Profile.

PositionFlags has long been seen as a complicated and confusing burden in the apps.
We determined that very few users use them, with the majority happy with the default set,
and some of the 'advanced' flags don't even work.

Depends on: meshtastic/protobufs#749
@fifieldt fifieldt added the enhancement New feature or request label Nov 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant