Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions meshtastic/config.options
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*DeviceConfig.tzdef max_size:65
*DeviceConfig.buzzer_mode int_size:8

*PositionConfig.gps_profile int_size:8

*NetworkConfig.wifi_ssid max_size:33
*NetworkConfig.wifi_psk max_size:65
Expand Down
64 changes: 52 additions & 12 deletions meshtastic/config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -266,66 +266,67 @@ message Config {
* are always included (also time if GPS-synced)
* NOTE: the more fields are included, the larger the message will be -
* leading to longer airtime and a higher risk of packet loss
* DEPRECATED in favor of GpsProfile
*/
enum PositionFlags {
/*
* Required for compilation
*/
UNSET = 0x0000;
UNSET = 0x0000 [deprecated = true];

/*
* Include an altitude value (if available)
*/
ALTITUDE = 0x0001;
ALTITUDE = 0x0001 [deprecated = true];

/*
* Altitude value is MSL
*/
ALTITUDE_MSL = 0x0002;
ALTITUDE_MSL = 0x0002 [deprecated = true];

/*
* Include geoidal separation
*/
GEOIDAL_SEPARATION = 0x0004;
GEOIDAL_SEPARATION = 0x0004 [deprecated = true];

/*
* Include the DOP value ; PDOP used by default, see below
*/
DOP = 0x0008;
DOP = 0x0008 [deprecated = true];

/*
* If POS_DOP set, send separate HDOP / VDOP values instead of PDOP
*/
HVDOP = 0x0010;
HVDOP = 0x0010 [deprecated = true];

/*
* Include number of "satellites in view"
*/
SATINVIEW = 0x0020;
SATINVIEW = 0x0020 [deprecated = true];

/*
* Include a sequence number incremented per packet
*/
SEQ_NO = 0x0040;
SEQ_NO = 0x0040 [deprecated = true];

/*
* Include positional timestamp (from GPS solution)
*/
TIMESTAMP = 0x0080;
TIMESTAMP = 0x0080 [deprecated = true];

/*
* Include positional heading
* Intended for use with vehicle not walking speeds
* walking speeds are likely to be error prone like the compass
*/
HEADING = 0x0100;
HEADING = 0x0100 [deprecated = true];

/*
* Include positional speed
* Intended for use with vehicle not walking speeds
* walking speeds are likely to be error prone like the compass
*/
SPEED = 0x0200;
SPEED = 0x0200 [deprecated = true];
}

enum GpsMode {
Expand All @@ -345,6 +346,39 @@ message Config {
NOT_PRESENT = 2;
}

/*
* A plain language label that users of GPS select based on their intended activity.
* We use this to make selections from the variety of GPS Settings, including:
* GPS Update Interval, Position Broadcast Interval, Smart Broadcast Min Interval,
* Smart Broadcast Min Distance, and Position Flags. The firmware also modifies the
* GPS hardware configuration to take advantage of advanced features for each case.
* The firmware may also discard erroneous positions based on movement determined to
* be physically impossible.
*/
enum GpsProfile {
/*
* Profile not set, user will make their own decisions.
*/
MANUAL = 0;

/*
* This node does not move.
* We automatically apply this to all routers, router_lates,
* and any node with manually set lat/lon.
*/
FIXED_POSITION = 1;

/*
* Hikers, runners, walkers.
*/
PEDESTRIAN = 2;

/*
* Cars, motorbikes.
*/
VEHICLE = 3;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add airborn? People are experimenting with Drones, Kites and Ballons a lot.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree and think that's a good idea, and have settings for it, but Ben preferred to keep it simple when we were talking in discord :) Perhaps you both can chat?


/*
* We should send our position this often (but only if it has changed significantly)
* Defaults to 15 minutes
Expand Down Expand Up @@ -383,8 +417,9 @@ message Config {
/*
* Bit field of boolean configuration options for POSITION messages
* (bitwise OR of PositionFlags)
* DEPRECATED in favour of GPS Profile
*/
uint32 position_flags = 7;
uint32 position_flags = 7 [deprecated = true];

/*
* (Re)define GPS_RX_PIN for your board.
Expand Down Expand Up @@ -415,6 +450,11 @@ message Config {
* Set where GPS is enabled, disabled, or not present
*/
GpsMode gps_mode = 13;

/*
* A pre-tuned mode of operation for the GPS based on use-case.
*/
GpsProfile gps_profile = 14;
}

/*
Expand Down