meshtastic-protobuf/telemetry.proto

166 wiersze
3.0 KiB
Protocol Buffer
Czysty Zwykły widok Historia

syntax = "proto3";
2022-03-26 19:09:18 +00:00
option java_package = "com.geeksville.mesh";
option optimize_for = LITE_RUNTIME;
2022-10-19 07:03:17 +00:00
option go_package = "github.com/meshtastic/go/generated";
2022-03-26 19:09:18 +00:00
option java_outer_classname = "TelemetryProtos";
2022-12-06 16:14:04 +00:00
option csharp_namespace = "Meshtastic.Protobufs";
2022-03-26 19:09:18 +00:00
2022-02-21 07:48:42 +00:00
/*
2022-03-26 19:09:18 +00:00
* Key native device metrics such as battery level
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:09:18 +00:00
message DeviceMetrics {
2022-03-18 22:24:20 +00:00
/*
2022-03-26 19:09:18 +00:00
* 1-100 (0 means powered)
2022-03-04 12:46:12 +00:00
*/
2022-03-26 19:09:18 +00:00
uint32 battery_level = 1;
2022-03-18 22:24:20 +00:00
/*
2022-03-26 19:09:18 +00:00
* Voltage measured
2022-03-04 12:46:12 +00:00
*/
2022-03-26 19:30:35 +00:00
float voltage = 2;
2022-03-04 12:46:12 +00:00
2022-03-18 22:24:20 +00:00
/*
2022-03-04 12:50:29 +00:00
* Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise).
*/
float channel_utilization = 3;
2022-03-26 19:09:18 +00:00
2022-03-04 12:50:29 +00:00
/*
* Percent of airtime for transmission used within the last hour.
*/
float air_util_tx = 4;
2022-03-26 19:09:18 +00:00
}
2022-03-04 12:46:12 +00:00
2022-03-26 19:09:18 +00:00
/*
* Weather station or other environmental metrics
*/
message EnvironmentMetrics {
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Temperature measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:09:18 +00:00
float temperature = 1;
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Relative humidity percent measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:09:18 +00:00
float relative_humidity = 2;
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Barometric pressure in hPA measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:09:18 +00:00
float barometric_pressure = 3;
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Gas resistance in mOhm measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:09:18 +00:00
float gas_resistance = 4;
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Voltage measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:41:53 +00:00
float voltage = 5;
2022-02-21 07:48:42 +00:00
/*
2022-03-19 13:50:56 +00:00
* Current measured
2022-02-21 07:48:42 +00:00
*/
2022-03-26 19:41:53 +00:00
float current = 6;
}
2022-03-26 19:09:18 +00:00
/*
* Types of Measurements the telemetry module is equipped to handle
*/
message Telemetry {
/*
* This is usually not sent over the mesh (to save space), but it is sent
* from the phone so that the local device can set its RTC If it is sent over
* the mesh (because there are devices on the mesh without GPS), it will only
* be sent by devices which has a hardware GPS clock (IE Mobile Phone).
* seconds since 1970
*/
fixed32 time = 1;
oneof variant {
/*
* Key native device metrics such as battery level
*/
DeviceMetrics device_metrics = 2;
/*
* Weather station or other environmental metrics
*/
EnvironmentMetrics environment_metrics = 3;
}
}
/*
* TODO: REPLACE
*/
enum TelemetrySensorType {
/*
2022-06-11 13:45:36 +00:00
* No external telemetry sensor explicitly set
*/
SENSOR_UNSET = 0;
/*
2022-06-11 13:45:36 +00:00
* High accuracy temperature, pressure, humidity
*/
2022-07-29 16:10:26 +00:00
BME280 = 1;
/*
2022-06-11 13:45:36 +00:00
* High accuracy temperature, pressure, humidity, and air resistance
*/
2022-07-29 16:10:26 +00:00
BME680 = 2;
/*
2022-06-11 13:45:36 +00:00
* Very high accuracy temperature
*/
2022-07-29 16:10:26 +00:00
MCP9808 = 3;
2022-06-11 13:45:36 +00:00
/*
* Moderate accuracy current and voltage
*/
2022-07-29 16:10:26 +00:00
INA260 = 4;
2022-06-11 13:45:36 +00:00
/*
* Moderate accuracy current and voltage
*/
2022-07-29 16:10:26 +00:00
INA219 = 5;
2022-07-31 12:42:17 +00:00
/*
* High accuracy temperature and pressure
*/
BMP280 = 6;
2022-09-10 19:21:53 +00:00
/*
* High accuracy temperature and humidity
*/
SHTC3 = 7;
/*
* High accuracy pressure
*/
LPS22 = 8;
/*
* 3-Axis magnetic sensor
*/
QMC6310 = 9;
/*
* 6-Axis inertial measurement sensor
*/
QMI8658 = 10;
2022-11-12 09:59:54 +00:00
/*
* 3-Axis magnetic sensor
*/
QMC5883L = 11;
2022-12-25 15:35:10 +00:00
/*
* High accuracy temperature and humidity
*/
SHT31 = 12;
2022-07-29 16:10:26 +00:00
};