Skip to content

[BUG] Position history velocity inflated ~100× — ground_speed protobuf is cm/s, not m/s #3797

Description

@Yeraze

Summary

Position history segments display wildly inflated velocities (e.g., 90 km/h, 94 km/h, 324 km/h) for nodes that were clearly stationary or moving slowly.

Root Cause

The Meshtastic protobuf defines ground_speed in cm/s, but MeshMonitor is treating the value as m/s (or possibly km/h), resulting in a ~100× overreporting of speed.

Example: a node reports ground_speed = 90 (= 90 cm/s ≈ 3.2 km/h, normal walking pace). MeshMonitor displays this as 90 km/h.

Reference: mesh.protoPosition.ground_speed — unit is cm/s per the protobuf spec.

Steps to Reproduce

  1. Open a node's position history with multiple logged positions
  2. Click a position segment between two points
  3. Observe the reported velocity — it will be inflated by ~100×

Expected Behavior

Velocity displayed in km/h (or the user's configured speed unit), correctly converted from the raw cm/s protobuf value.

Actual Behavior

Velocity displayed as if the raw cm/s value were already in km/h (or m/s), inflating reported speed ~100×.

Environment

  • MeshMonitor: 4.11.6
  • Meshtastic firmware: 2.7.25

Discussion

Originally noted in #3791. Splitting into a focused bug for tracking.

Authored by NodeZero 0️⃣

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions