Skip to content

Commit ac83253

Browse files
committed
Add dynamic usage mode selection for GPS Position.
Most of the GPS chips we support have the ability to change their operating model "dynamics" based on the intended activities. We currently assume everyone is a pedestrian and configure as such. However, there are users out there on bikes, planes, balloons, and with fixed devices. Where GPS chips support it, we can configure for each of this circumstances and improve performance. For example, fixed nodes might no longer jump around on the map. Planes will have a more responsive and less filtered position. Balloons' GPS won't simply cut out because its gone over an altitude limit. Boats won't have altitudes that make them appear to be floating in the air. Additionally, this could provide the opportunity for a bit of fun in the apps - surface information about the use case so people know when they're connecting to a plane or baloon :) Related to: meshtastic/firmware#3984 Related to: meshtastic#619 Related to: meshtastic/firmware#5281
1 parent 04f21f5 commit ac83253

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

meshtastic/config.proto

+43
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,44 @@ message Config {
293293
NOT_PRESENT = 2;
294294
}
295295

296+
297+
enum GpsDynamicMode {
298+
/*
299+
* For pedestrian use and hiking (default)
300+
*/
301+
PEDESTRIAN = 0;
302+
303+
/*
304+
* For cycling.
305+
*/
306+
BIKE = 1;
307+
308+
/*
309+
* For use in a moving car.
310+
*/
311+
CAR = 2;
312+
313+
/*
314+
* For use in a boat at sea level.
315+
*/
316+
BOAT = 3;
317+
318+
/*
319+
* For use in a plane.
320+
*/
321+
PLANE = 4;
322+
323+
/*
324+
* For use in a high-altitude balloon.
325+
*/
326+
BALLOON = 5;
327+
328+
/*
329+
* For fixed-position use of GPS.
330+
*/
331+
STATIONARY = 6;
332+
}
333+
296334
/*
297335
* We should send our position this often (but only if it has changed significantly)
298336
* Defaults to 15 minutes
@@ -363,6 +401,11 @@ message Config {
363401
* Set where GPS is enabled, disabled, or not present
364402
*/
365403
GpsMode gps_mode = 13;
404+
405+
/*
406+
* Set what type of activity is expected for the GPS Usage.
407+
*/
408+
GpsMode gps_dynamic_mode = 14;
366409
}
367410

368411
/*

0 commit comments

Comments
 (0)