meshtastic-protobuf/meshtastic/deviceonly.proto

182 wiersze
3.7 KiB
Protocol Buffer
Czysty Zwykły widok Historia

syntax = "proto3";
2023-01-17 11:03:10 +00:00
package meshtastic;
2023-01-21 15:26:47 +00:00
option java_package = "com.geeksville.mesh";
2021-02-27 05:43:36 +00:00
option java_outer_classname = "DeviceOnly";
2023-01-21 15:26:47 +00:00
option go_package = "github.com/meshtastic/go/generated";
2022-12-06 16:14:04 +00:00
option csharp_namespace = "Meshtastic.Protobufs";
2023-01-21 15:26:47 +00:00
option swift_prefix = "";
2021-02-27 05:43:36 +00:00
2023-01-17 11:03:10 +00:00
import "meshtastic/channel.proto";
import "meshtastic/localonly.proto";
2023-01-17 11:03:10 +00:00
import "meshtastic/mesh.proto";
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
*/
message DeviceState {
2021-04-20 09:08:28 +00:00
/*
* Read only settings/info about this node
2021-04-20 09:08:28 +00:00
*/
MyNodeInfo my_node = 2;
/*
* My owner info
*/
User owner = 3;
2022-02-21 07:48:42 +00:00
/*
* TODO: REPLACE
*/
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 GPS receivers 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
/*
* We keep the last received waypoint stored in the device flash,
* so we can show it on the screen.
* Might be null
*/
MeshPacket rx_waypoint = 12;
2023-05-15 13:03:42 +00:00
/*
* The mesh's nodes with their available gpio pins for RemoteHardware module
*/
repeated NodeRemoteHardwarePins node_remote_hardware_pins = 13;
}
/*
* The on-disk saved channels
*/
message ChannelFile {
2022-02-21 07:48:42 +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.
*/
2022-06-15 14:42:55 +00:00
uint32 version = 2;
}
/*
* 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 custom 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;
/*
* The default device encryption key, 16 or 32 byte
*/
bytes oem_aes_key = 6;
/*
* A Preset LocalConfig to apply during factory reset
*/
LocalConfig oem_local_config = 7;
/*
* A Preset LocalModuleConfig to apply during factory reset
*/
LocalModuleConfig oem_local_module_config = 8;
2023-05-15 13:03:42 +00:00
}
/*
* RemoteHardwarePins associated with a node
*/
message NodeRemoteHardwarePin {
/*
* The node_num exposing the available gpio pin
*/
uint32 node_num = 1;
/*
* The the available gpio pin for usage with RemoteHardware module
*/
RemoteHardwarePin pin = 2;
}