diff --git a/protobuf_definitions/message_formats.proto b/protobuf_definitions/message_formats.proto index 77495905..9fdf5060 100644 --- a/protobuf_definitions/message_formats.proto +++ b/protobuf_definitions/message_formats.proto @@ -1223,3 +1223,26 @@ message CPUInfo { float guestport_queue_load = 4 ; // Guestport queue load (0..1). float comm_queue_load = 5; // Communication queue load (0..1). } + +// Surface Unit battery information. +// +// This message is published by the Surface Unit, and re-published by +// the drone over the communication protocol. +message SurfaceUnitBatteryInfo { + enum ChargeStatus { + CHARGE_STATUS_UNSPECIFIED = 0; + CHARGE_STATUS_DISCHARGE = 1; + CHARGE_STATUS_CHARGE = 2; + CHARGE_STATUS_CHARGE_ERROR = 3; + } + ChargeStatus status = 1; // Battery charge status. + float level = 2; // Battery level (0..1). +} + +// Surface Unit version information. +// +// This message is published by the Surface Unit, and re-published by +// the drone over the communication protocol. +message SurfaceUnitVersionInfo { + string version = 1; // Surface Unit firmware version (x.y.z). +} diff --git a/protobuf_definitions/telemetry.proto b/protobuf_definitions/telemetry.proto index cea30edb..e103bb4f 100644 --- a/protobuf_definitions/telemetry.proto +++ b/protobuf_definitions/telemetry.proto @@ -287,3 +287,9 @@ message MultibeamDiscoveryTel { message CPUInfoTel { CPUInfo cpu_info = 1; // CPU information. } + +// Surface Unit telemetry message. +message SurfaceUnitTel { + SurfaceUnitBatteryInfo battery_info = 1; // Battery information. + SurfaceUnitVersionInfo version_info = 2; // Version information. +} \ No newline at end of file