From bb1a5d09bcaab9bf29e8cd64b9c1633ef22d3046 Mon Sep 17 00:00:00 2001 From: l0g-lab Date: Wed, 10 Sep 2025 18:20:40 -0400 Subject: [PATCH 01/13] add node_name_length option --- meshtastic/config.proto | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 12c79c5..1b88360 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -811,6 +811,12 @@ message Config { * If true, the device will display the time in 12-hour format on screen. */ bool use_12h_clock = 12; + + /* + * If false (default), the device will use short names for various display screens. + * If true, node names will show in long format + */ + bool use_long_node_name = 13; } /* From b90ea12cc81ce213c3763b5b25df9c11b01ffb56 Mon Sep 17 00:00:00 2001 From: Jason P Date: Sat, 13 Sep 2025 17:18:46 -0500 Subject: [PATCH 02/13] 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 03/13] 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 04/13] 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 d4d150870861b429207c7cb00b82e625601a394a Mon Sep 17 00:00:00 2001 From: WillyJL Date: Mon, 15 Sep 2025 22:49:58 +0200 Subject: [PATCH 05/13] Add hardwareModel for M5Stack Cardputer Adv --- meshtastic/mesh.proto | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meshtastic/mesh.proto b/meshtastic/mesh.proto index 2637a9c..38000b4 100644 --- a/meshtastic/mesh.proto +++ b/meshtastic/mesh.proto @@ -790,11 +790,16 @@ enum HardwareModel { */ HELTEC_V4 = 110; - /* + /* * M5Stack C6L */ M5STACK_C6L = 111; + /* + * M5Stack Cardputer Adv + */ + M5STACK_CARDPUTER_ADV = 112; + /* * ------------------------------------------------------------------------------------------------------------------------------------------ * Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. From 804a06ae4eb463cfd7e25d903f2b9111221428ba Mon Sep 17 00:00:00 2001 From: Jason P Date: Tue, 16 Sep 2025 08:22:53 -0500 Subject: [PATCH 06/13] 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 07/13] 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 08/13] 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 09/13] 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 10/13] 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 11/13] 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. From 0a0c0ab3619db46b0e95ab07785e267d7dc2a633 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Thu, 18 Sep 2025 18:49:31 -0500 Subject: [PATCH 12/13] Add device_telemetry_enabled to force opt-in of device telemetry broadcasts to the mesh --- meshtastic/module_config.proto | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meshtastic/module_config.proto b/meshtastic/module_config.proto index f91671c..be8a693 100644 --- a/meshtastic/module_config.proto +++ b/meshtastic/module_config.proto @@ -615,6 +615,12 @@ message ModuleConfig { * Enable/Disable the health telemetry module on-device display */ bool health_screen_enabled = 13; + + /* + * Enable/Disable the device telemetry module to send metrics to the mesh + * Note: We will still send telemtry to the connected phone / client every minute over the API + */ + bool device_telemetry_enabled = 14; } /* From 6a8b80a10835acf48b2dfa2ad8aa0cc596219619 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Fri, 19 Sep 2025 08:25:43 -0500 Subject: [PATCH 13/13] Needs one value --- meshtastic/config.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshtastic/config.proto b/meshtastic/config.proto index abd9ee0..ca6a353 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -601,7 +601,7 @@ message Config { * Deprecated in 2.7.4: Unused */ enum DeprecatedGpsCoordinateFormat { - + UNUSED = 0; } /*