diff --git a/mesh.proto b/mesh.proto index d05c917..5fdc5f1 100644 --- a/mesh.proto +++ b/mesh.proto @@ -481,6 +481,45 @@ enum RegionCode { // Add new regions here } +/** + How the GPS hardware in this unit is operated. + + Note: This is independent of how our location is shared with other devices. For that see LocationSharing +**/ +enum GpsOperation { + // This is treated as GpsOpMobileSlow - it is the default settting + GpsOpUnset = 0; + + // This node is mostly stationary, we should try to get location only once per day, + // Once we have that position we should turn the GPS to sleep mode + // This is the recommendated configuration for stationary 'router' nodes + GpsOpStationary = 1; + + // This node is mobile and we should get GPS position at a rate governed by gps_update_rate + GpsOpMobile = 2; + + // We should only use the GPS to get time (no location data should be acquired/stored) + // Once we have that position we should turn the GPS to sleep mode + GpsOpTimeOnly = 3; + + // GPS is always turned off - this mode is not recommended - use GpsOpTimeOnly instead + GpsOpDisabled = 4; +} + +/** + How our location is shared with other nodes (or the local phone) +**/ +enum LocationSharing { + // This is the default and treated as LocEnabled) + LocUnset = 0; + + // We are sharing our location + LocEnabled = 1; + + // We are not sharing our location + LocDisabled = 2; +} + // The entire set of user settable/readable settings for our radio device. // Includes both the current channel settings and any preferences the user has // set for behavior of their node @@ -521,6 +560,20 @@ message RadioConfig { /// The region code for my radio (US, CN, EU433, etc...) RegionCode region = 15; + LocationSharing location_share = 32; + GpsOperation gps_operation = 33; + + /// How often should we try to get GPS position (in seconds) when we are in GpsOpMobile mode? + /// or zero for the default of once every 30 seconds + uint32 gps_update_rate = 34; + + /** How long should we try to get our position during each gps_update_rate attempt? (in seconds) + Or if zero, use the default of 30 seconds. + If we don't get a new gps fix in that time, the gps will be put into sleep until the next gps_update_rate + window. + */ + uint32 gps_attempt_time = 36; + /** This setting is never saved to disk, but if set, all device settings will be returned to factory defaults. (Region, serial number etc... will be