From b90ea12cc81ce213c3763b5b25df9c11b01ffb56 Mon Sep 17 00:00:00 2001 From: Jason P Date: Sat, 13 Sep 2025 17:18:46 -0500 Subject: [PATCH 1/9] Add Maidenhead Protobuf --- meshtastic/config.proto | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 12c79c5..5a1b915 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -637,6 +637,12 @@ message Config { * E is the easting, N is the northing */ OSGR = 5; + + /* + Maidenhead Locator System + * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System + */ + MAIDENHEAD = 6; } /* From c5af2d77d80ecb24b60f399a4a49a02e824a71c6 Mon Sep 17 00:00:00 2001 From: Jason P Date: Sat, 13 Sep 2025 18:06:31 -0500 Subject: [PATCH 2/9] Fix formatting --- meshtastic/config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 5a1b915..7032013 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -639,7 +639,7 @@ message Config { OSGR = 5; /* - Maidenhead Locator System + * Maidenhead Locator System * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System */ MAIDENHEAD = 6; From 2fb76bc70b7e613ae24a615c7b9b79c04fea911b Mon Sep 17 00:00:00 2001 From: Jason P Date: Sat, 13 Sep 2025 18:07:55 -0500 Subject: [PATCH 3/9] Shorten Protobuf to match others --- meshtastic/config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 7032013..57ea98e 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -642,7 +642,7 @@ message Config { * Maidenhead Locator System * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System */ - MAIDENHEAD = 6; + MLS = 6; } /* From 804a06ae4eb463cfd7e25d903f2b9111221428ba Mon Sep 17 00:00:00 2001 From: Jason P Date: Tue, 16 Sep 2025 08:22:53 -0500 Subject: [PATCH 4/9] Move from DisplayConfig to Device_UI --- meshtastic/config.proto | 48 ---------------------------------- meshtastic/device_ui.proto | 53 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 48 deletions(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 57ea98e..174fafd 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -597,54 +597,6 @@ message Config { * Display Config */ message DisplayConfig { - /* - * How the GPS coordinates are displayed on the OLED screen. - */ - enum GpsCoordinateFormat { - /* - * GPS coordinates are displayed in the normal decimal degrees format: - * DD.DDDDDD DDD.DDDDDD - */ - DEC = 0; - - /* - * GPS coordinates are displayed in the degrees minutes seconds format: - * DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant - */ - DMS = 1; - - /* - * Universal Transverse Mercator format: - * ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing - */ - UTM = 2; - - /* - * Military Grid Reference System format: - * ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, - * E is easting, N is northing - */ - MGRS = 3; - - /* - * Open Location Code (aka Plus Codes). - */ - OLC = 4; - - /* - * Ordnance Survey Grid Reference (the National Grid System of the UK). - * Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, - * E is the easting, N is the northing - */ - OSGR = 5; - - /* - * Maidenhead Locator System - * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System - */ - MLS = 6; - } - /* * Unit display preference */ diff --git a/meshtastic/device_ui.proto b/meshtastic/device_ui.proto index b9a72ce..c5dd51f 100644 --- a/meshtastic/device_ui.proto +++ b/meshtastic/device_ui.proto @@ -88,6 +88,59 @@ message DeviceUIConfig { * true for analog clockface, false for digital clockface */ bool is_clockface_analog = 18; + + /* + * How the GPS coordinates are formatted on the OLED screen. + */ + GpsCoordinateFormat gps_format = 19; + + /* + * How the GPS coordinates are displayed on the OLED screen. + */ + enum GpsCoordinateFormat { + /* + * GPS coordinates are displayed in the normal decimal degrees format: + * DD.DDDDDD DDD.DDDDDD + */ + DEC = 0; + + /* + * GPS coordinates are displayed in the degrees minutes seconds format: + * DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant + */ + DMS = 1; + + /* + * Universal Transverse Mercator format: + * ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing + */ + UTM = 2; + + /* + * Military Grid Reference System format: + * ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, + * E is easting, N is northing + */ + MGRS = 3; + + /* + * Open Location Code (aka Plus Codes). + */ + OLC = 4; + + /* + * Ordnance Survey Grid Reference (the National Grid System of the UK). + * Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, + * E is the easting, N is the northing + */ + OSGR = 5; + + /* + * Maidenhead Locator System + * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System + */ + MLS = 6; + } } message NodeFilter { From 99bdcfdbfebd8cd881f44dc8e6899e4a96899da1 Mon Sep 17 00:00:00 2001 From: Jason P Date: Tue, 16 Sep 2025 08:45:08 -0500 Subject: [PATCH 5/9] Finalize move to Device_UI --- meshtastic/config.proto | 6 ------ 1 file changed, 6 deletions(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 174fafd..e030725 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -648,12 +648,6 @@ message Config { */ uint32 screen_on_secs = 1; - /* - * Deprecated in 2.7.4: Unused - * How the GPS coordinates are formatted on the OLED screen. - */ - GpsCoordinateFormat gps_format = 2 [deprecated = true]; - /* * Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. * Potentially useful for devices without user buttons. From 375fab79d4b33c090c3be9b3b6fa869ef076c4f1 Mon Sep 17 00:00:00 2001 From: Jason P Date: Tue, 16 Sep 2025 08:56:43 -0500 Subject: [PATCH 6/9] Attempt to fix formatting issues --- meshtastic/device_ui.proto | 88 +++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/meshtastic/device_ui.proto b/meshtastic/device_ui.proto index c5dd51f..003a1f4 100644 --- a/meshtastic/device_ui.proto +++ b/meshtastic/device_ui.proto @@ -94,53 +94,53 @@ message DeviceUIConfig { */ GpsCoordinateFormat gps_format = 19; - /* - * How the GPS coordinates are displayed on the OLED screen. + /* + * How the GPS coordinates are displayed on the OLED screen. + */ + enum GpsCoordinateFormat { + /* + * GPS coordinates are displayed in the normal decimal degrees format: + * DD.DDDDDD DDD.DDDDDD */ - enum GpsCoordinateFormat { - /* - * GPS coordinates are displayed in the normal decimal degrees format: - * DD.DDDDDD DDD.DDDDDD - */ - DEC = 0; + DEC = 0; + + /* + * GPS coordinates are displayed in the degrees minutes seconds format: + * DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant + */ + DMS = 1; - /* - * GPS coordinates are displayed in the degrees minutes seconds format: - * DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant - */ - DMS = 1; - - /* - * Universal Transverse Mercator format: - * ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing - */ - UTM = 2; + /* + * Universal Transverse Mercator format: + * ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing + */ + UTM = 2; + + /* + * Military Grid Reference System format: + * ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, + * E is easting, N is northing + */ + MGRS = 3; + + /* + * Open Location Code (aka Plus Codes). + */ + OLC = 4; + + /* + * Ordnance Survey Grid Reference (the National Grid System of the UK). + * Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, + * E is the easting, N is the northing + */ + OSGR = 5; - /* - * Military Grid Reference System format: - * ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, - * E is easting, N is northing - */ - MGRS = 3; - - /* - * Open Location Code (aka Plus Codes). - */ - OLC = 4; - - /* - * Ordnance Survey Grid Reference (the National Grid System of the UK). - * Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, - * E is the easting, N is the northing - */ - OSGR = 5; - - /* - * Maidenhead Locator System - * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System - */ - MLS = 6; - } + /* + * Maidenhead Locator System + * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System + */ + MLS = 6; + } } message NodeFilter { From 74b16a5bd332ec332b92cfc6d16e8778aeb3f090 Mon Sep 17 00:00:00 2001 From: Jason P Date: Tue, 16 Sep 2025 12:00:47 -0500 Subject: [PATCH 7/9] Add int_size 8 for gps_format --- meshtastic/device_ui.options | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meshtastic/device_ui.options b/meshtastic/device_ui.options index 67bee23..a8fab46 100644 --- a/meshtastic/device_ui.options +++ b/meshtastic/device_ui.options @@ -3,9 +3,10 @@ *DeviceUIConfig.ring_tone_id int_size:8 *DeviceUIConfig.calibration_data max_size:16 *DeviceUIConfig.compass_mode int_size:8 +*DeviceUIConfig.gps_format int_size:8 *NodeFilter.node_name max_size:16 *NodeFilter.hops_away int_size:8 *NodeFilter.channel int_size:8 *NodeHighlight.node_name max_size:16 *GeoPoint.zoom int_size:8 -*Map.style max_size:20 \ No newline at end of file +*Map.style max_size:20 From 58e974544dd7a4cadab4bcabc33d84f85b4c83a4 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 18 Sep 2025 18:34:52 -0500 Subject: [PATCH 8/9] Revert "Finalize move to Device_UI" This reverts commit 99bdcfdbfebd8cd881f44dc8e6899e4a96899da1. --- meshtastic/config.proto | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index e030725..174fafd 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -648,6 +648,12 @@ message Config { */ uint32 screen_on_secs = 1; + /* + * Deprecated in 2.7.4: Unused + * How the GPS coordinates are formatted on the OLED screen. + */ + GpsCoordinateFormat gps_format = 2 [deprecated = true]; + /* * Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. * Potentially useful for devices without user buttons. From 1d9082b2773eb05b8f836993f24ef2a87f5fc384 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 18 Sep 2025 18:37:23 -0500 Subject: [PATCH 9/9] I changed my mind. Let's just deprecate the enum too --- meshtastic/config.proto | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 174fafd..6d114c9 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -597,6 +597,13 @@ message Config { * Display Config */ message DisplayConfig { + /* + * Deprecated in 2.7.4: Unused + */ + enum DeprecatedGpsCoordinateFormat { + + } + /* * Unit display preference */ @@ -652,7 +659,7 @@ message Config { * Deprecated in 2.7.4: Unused * How the GPS coordinates are formatted on the OLED screen. */ - GpsCoordinateFormat gps_format = 2 [deprecated = true]; + DeprecatedGpsCoordinateFormat gps_format = 2 [deprecated = true]; /* * Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds.