2020-12-28 05:12:14 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
option java_package = "com.geeksville.mesh";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
2021-05-24 00:31:38 +00:00
|
|
|
option go_package = "github.com/meshtastic/gomeshproto";
|
2020-12-28 05:12:14 +00:00
|
|
|
|
2021-02-27 05:16:43 +00:00
|
|
|
import "channel.proto";
|
2021-11-30 19:45:01 +00:00
|
|
|
import "mesh.proto";
|
2020-12-28 05:12:14 +00:00
|
|
|
|
2021-02-27 05:43:36 +00:00
|
|
|
option java_outer_classname = "DeviceOnly";
|
|
|
|
|
2021-01-29 02:11:10 +00:00
|
|
|
/*
|
|
|
|
* This message is never sent over the wire, but it is used for serializing DB
|
|
|
|
* state to flash in the device code
|
|
|
|
* FIXME, since we write this each time we enter deep sleep (and have infinite
|
|
|
|
* flash) it would be better to use some sort of append only data structure for
|
|
|
|
* the receive queue and use the preferences store for the other stuff
|
|
|
|
*/
|
2020-12-28 05:12:14 +00:00
|
|
|
message DeviceState {
|
2021-03-03 01:37:50 +00:00
|
|
|
|
2021-11-30 19:45:01 +00:00
|
|
|
/*
|
|
|
|
* Was secondary_channels before 1.2
|
|
|
|
*/
|
|
|
|
reserved 12;
|
2021-03-03 01:37:50 +00:00
|
|
|
|
2021-04-20 09:08:28 +00:00
|
|
|
/*
|
2021-11-30 19:45:01 +00:00
|
|
|
* Read only settings/info about this node
|
2021-04-20 09:08:28 +00:00
|
|
|
*/
|
2021-11-30 19:45:01 +00:00
|
|
|
MyNodeInfo my_node = 2;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* My owner info
|
|
|
|
*/
|
|
|
|
User owner = 3;
|
|
|
|
|
2022-02-21 07:48:42 +00:00
|
|
|
/*
|
|
|
|
* TODO: REPLACE
|
|
|
|
*/
|
2021-11-30 19:45:01 +00:00
|
|
|
repeated NodeInfo node_db = 4;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Received packets saved for delivery to the phone
|
|
|
|
*/
|
|
|
|
repeated MeshPacket receive_queue = 5;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* A version integer used to invalidate old save files when we make
|
|
|
|
* incompatible changes This integer is set at build time and is private to
|
|
|
|
* NodeDB.cpp in the device code.
|
|
|
|
*/
|
|
|
|
uint32 version = 8;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* We keep the last received text message (only) stored in the device flash,
|
|
|
|
* so we can show it on the screen.
|
|
|
|
* Might be null
|
|
|
|
*/
|
|
|
|
MeshPacket rx_text_message = 7;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Used only during development.
|
|
|
|
* Indicates developer is testing and changes should never be saved to flash.
|
|
|
|
*/
|
|
|
|
bool no_save = 9;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Some GPSes seem to have bogus settings from the factory, so we always do one factory reset.
|
|
|
|
*/
|
|
|
|
bool did_gps_reset = 11;
|
2022-01-19 01:39:38 +00:00
|
|
|
|
2022-01-19 23:43:57 +00:00
|
|
|
}
|
2021-11-30 19:45:01 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* The on-disk saved channels
|
|
|
|
*/
|
|
|
|
message ChannelFile {
|
2022-02-21 07:48:42 +00:00
|
|
|
|
2021-11-30 19:45:01 +00:00
|
|
|
/*
|
|
|
|
* The channels our node knows about
|
|
|
|
*/
|
|
|
|
repeated Channel channels = 1;
|
2022-06-15 14:40:22 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* A version integer used to invalidate old save files when we make
|
|
|
|
* incompatible changes This integer is set at build time and is private to
|
|
|
|
* NodeDB.cpp in the device code.
|
|
|
|
*/
|
|
|
|
uint32 version = 2;
|
2021-11-30 19:45:01 +00:00
|
|
|
}
|
2022-04-18 16:13:52 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* TODO: REPLACE
|
|
|
|
*/
|
|
|
|
enum ScreenFonts {
|
|
|
|
|
|
|
|
/*
|
|
|
|
* TODO: REPLACE
|
|
|
|
*/
|
|
|
|
FONT_SMALL = 0;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* TODO: REPLACE
|
|
|
|
*/
|
|
|
|
FONT_MEDIUM = 1;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* TODO: REPLACE
|
|
|
|
*/
|
|
|
|
FONT_LARGE = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This can be used for customizing the firmware distribution. If populated,
|
|
|
|
* show a secondary bootup screen with cuatom logo and text for 2.5 seconds.
|
|
|
|
*/
|
|
|
|
message OEMStore {
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The Logo width in Px
|
|
|
|
*/
|
|
|
|
uint32 oem_icon_width = 1;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The Logo height in Px
|
|
|
|
*/
|
|
|
|
uint32 oem_icon_height = 2;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The Logo in xbm bytechar format
|
|
|
|
*/
|
|
|
|
bytes oem_icon_bits = 3;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Use this font for the OEM text.
|
|
|
|
*/
|
|
|
|
ScreenFonts oem_font = 4;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Use this font for the OEM text.
|
|
|
|
*/
|
|
|
|
string oem_text = 5;
|
|
|
|
}
|