meshtastic-protobuf/meshtastic/device_ui.proto

327 wiersze
4.1 KiB
Protocol Buffer

2024-10-09 10:49:09 +00:00
syntax = "proto3";
package meshtastic;
option csharp_namespace = "Meshtastic.Protobufs";
option go_package = "github.com/meshtastic/go/generated";
2024-10-12 09:27:59 +00:00
option java_outer_classname = "DeviceUIProtos";
2024-10-09 10:49:09 +00:00
option java_package = "com.geeksville.mesh";
option swift_prefix = "";
/*
* Protobuf structures for device-ui persistency
*/
message DeviceUIConfig {
/*
* A version integer used to invalidate saved files when we make incompatible changes.
*/
uint32 version = 1;
2024-10-09 10:49:09 +00:00
/*
* TFT display brightness 1..255
2024-10-09 10:49:09 +00:00
*/
uint32 screen_brightness = 2;
2024-10-09 10:49:09 +00:00
/*
* Screen timeout 0..900
2024-10-09 10:49:09 +00:00
*/
uint32 screen_timeout = 3;
2024-10-09 10:49:09 +00:00
/*
* Screen/Settings lock enabled
2024-10-09 10:49:09 +00:00
*/
bool screen_lock = 4;
bool settings_lock = 5;
uint32 pin_code = 6;
2024-10-09 10:49:09 +00:00
/*
* Color theme
2024-10-09 10:49:09 +00:00
*/
Theme theme = 7;
2024-10-09 10:49:09 +00:00
/*
* Audible message, banner and ring tone
2024-10-09 10:49:09 +00:00
*/
bool alert_enabled = 8;
bool banner_enabled = 9;
uint32 ring_tone_id = 10;
2024-10-09 10:49:09 +00:00
/*
* Localization
2024-10-09 10:49:09 +00:00
*/
Language language = 11;
2024-10-09 10:49:09 +00:00
/*
* Node list filter
2024-10-09 10:49:09 +00:00
*/
NodeFilter node_filter = 12;
2024-10-09 10:49:09 +00:00
/*
* Node list highlightening
2024-10-09 10:49:09 +00:00
*/
NodeHighlight node_highlight = 13;
2024-11-17 23:01:47 +00:00
/*
* 8 integers for screen calibration data
*/
bytes calibration_data = 14;
2025-02-24 23:20:33 +00:00
/*
* Map related data
*/
Map map_data = 15;
2025-07-02 01:11:29 +00:00
/*
* Compass mode
*/
CompassMode compass_mode = 16;
/*
* RGB color for BaseUI
* 0xRRGGBB format, e.g. 0xFF0000 for red
*/
uint32 screen_rgb_color = 17;
/*
* Clockface analog style
* true for analog clockface, false for digital clockface
*/
bool is_clockface_analog = 18;
2024-10-09 10:49:09 +00:00
}
message NodeFilter {
/*
* Filter unknown nodes
*/
2024-10-09 21:10:03 +00:00
bool unknown_switch = 1;
2024-10-09 10:49:09 +00:00
/*
* Filter offline nodes
*/
2024-10-09 21:10:03 +00:00
bool offline_switch = 2;
2024-10-09 10:49:09 +00:00
/*
* Filter nodes w/o public key
*/
2024-10-09 21:10:03 +00:00
bool public_key_switch = 3;
2024-10-09 10:49:09 +00:00
/*
* Filter based on hops away
*/
2024-10-09 20:53:02 +00:00
int32 hops_away = 4;
2024-10-09 10:49:09 +00:00
/*
* Filter nodes w/o position
*/
2024-10-09 21:10:03 +00:00
bool position_switch = 5;
2024-10-09 10:49:09 +00:00
/*
* Filter nodes by matching name string
*/
string node_name = 6;
/*
* Filter based on channel
*/
int32 channel = 7;
2024-10-09 10:49:09 +00:00
}
message NodeHighlight {
/*
* Hightlight nodes w/ active chat
*/
2024-10-09 21:10:03 +00:00
bool chat_switch = 1;
2024-10-09 10:49:09 +00:00
/*
* Highlight nodes w/ position
*/
2024-10-09 21:10:03 +00:00
bool position_switch = 2;
2024-10-09 10:49:09 +00:00
/*
* Highlight nodes w/ telemetry data
*/
2024-10-09 21:10:03 +00:00
bool telemetry_switch = 3;
2024-10-09 10:49:09 +00:00
/*
* Highlight nodes w/ iaq data
*/
2024-10-09 21:10:03 +00:00
bool iaq_switch = 4;
2024-10-09 10:49:09 +00:00
/*
* Highlight nodes by matching name string
*/
string node_name = 5;
}
2025-02-24 23:20:33 +00:00
message GeoPoint {
/*
* Zoom level
*/
int32 zoom = 1;
2025-07-12 22:44:13 +00:00
/*
* Coordinate: latitude
*/
2025-02-24 23:20:33 +00:00
int32 latitude = 2;
2025-07-12 22:44:13 +00:00
/*
* Coordinate: longitude
*/
2025-02-24 23:20:33 +00:00
int32 longitude = 3;
}
message Map {
/*
* Home coordinates
*/
GeoPoint home = 1;
/*
* Map tile style
*/
string style = 2;
2025-02-24 23:20:33 +00:00
/*
* Map scroll follows GPS
*/
bool follow_gps = 3;
}
2025-07-02 01:11:29 +00:00
enum CompassMode {
/*
* Compass with dynamic ring and heading
*/
DYNAMIC = 0;
/*
* Compass with fixed ring and heading
*/
FIXED_RING = 1;
/*
* Compass with heading and freeze option
*/
FREEZE_HEADING = 2;
}
2024-10-09 10:49:09 +00:00
enum Theme {
/*
* Dark
*/
DARK = 0;
/*
* Light
*/
LIGHT = 1;
/*
* Red
*/
RED = 2;
}
/*
* Localization
*/
enum Language {
/*
* English
*/
ENGLISH = 0;
/*
* French
*/
FRENCH = 1;
/*
* German
*/
GERMAN = 2;
/*
* Italian
*/
ITALIAN = 3;
/*
* Portuguese
*/
PORTUGUESE = 4;
/*
* Spanish
*/
SPANISH = 5;
2024-10-13 09:43:34 +00:00
/*
* Swedish
*/
SWEDISH = 6;
2024-10-13 09:43:34 +00:00
/*
* Finnish
*/
FINNISH = 7;
2024-10-13 09:43:34 +00:00
/*
* Polish
*/
POLISH = 8;
2024-10-13 09:43:34 +00:00
/*
* Turkish
*/
TURKISH = 9;
/*
* Serbian
*/
SERBIAN = 10;
/*
* Russian
*/
RUSSIAN = 11;
/*
* Dutch
*/
DUTCH = 12;
/*
* Greek
*/
GREEK = 13;
/*
2024-11-17 23:01:47 +00:00
* Norwegian
*/
NORWEGIAN = 14;
/*
* Slovenian
*/
SLOVENIAN = 15;
2025-03-14 11:31:25 +00:00
/*
* Ukrainian
*/
UKRAINIAN = 16;
2025-06-05 16:06:04 +00:00
/*
* Bulgarian
*/
BULGARIAN = 17;
2025-07-12 22:44:13 +00:00
/*
* Simplified Chinese (experimental)
*/
SIMPLIFIED_CHINESE = 30;
/*
* Traditional Chinese (experimental)
*/
TRADITIONAL_CHINESE = 31;
2025-07-12 22:44:13 +00:00
}