mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 05:03:05 +00:00
3164f92428
To enable this feature, we copy the required proto file from ChromeOS. Not a great solution, but better than leaving the code uncompiled in upstream. We could consider downloading the file from gitilies with a fixed sha that is manually upreved. But unfortunately downloading things in build.rs is not trivial without adding a ton of dependencies for the reqwest crate. BUG=b:244619797 TEST=presubmit Change-Id: I401917134471909be80a281454bc64dd27799afe Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3907373 Auto-Submit: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Dennis Kempin <denniskempin@google.com>
184 lines
8.6 KiB
Protocol Buffer
184 lines
8.6 KiB
Protocol Buffer
// Copyright (c) 2013 The ChromiumOS Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// WARNING: DO NOT MODIFY
|
|
//
|
|
// This files is a copy of the same file in the ChromeOS codebase at
|
|
// platform2/system_api/dbus/power_manager/power_supply_properties.proto
|
|
// and is only used for upstream builds.
|
|
//
|
|
// If you need to make changes, make the changes on the ChromeOS-side first,
|
|
// then copy to this file.
|
|
|
|
syntax = "proto2";
|
|
option optimize_for = LITE_RUNTIME;
|
|
package power_manager;
|
|
option go_package = "chromiumos/system_api/power_manager_proto";
|
|
// Power supply status sent from powerd to Chrome.
|
|
message PowerSupplyProperties {
|
|
// For any of these power sources, the system may be consuming power at a high
|
|
// enough rate that the battery is discharging rather than charging; see
|
|
// BatteryState. See the PowerSource submessage's |type| field for more
|
|
// details about the active power source.
|
|
enum ExternalPower {
|
|
// AC/line/mains or USB PD power is connected. This is typically the
|
|
// highest-power source that can be attached to the system.
|
|
AC = 0;
|
|
// A low-power USB source (SDP, DCP, CDP, or ACA) is connected.
|
|
USB = 1;
|
|
// No external power source is connected.
|
|
DISCONNECTED = 2;
|
|
// Next value to use: 4
|
|
}
|
|
enum BatteryState {
|
|
// The battery is full or close to full.
|
|
FULL = 0;
|
|
// The battery is being charged but is not yet full.
|
|
CHARGING = 1;
|
|
// The battery is discharging. Note that an external power source may be
|
|
// connected but not supplying enough power to offset the system's
|
|
// instantaneous power consumption. This state is also used if the battery
|
|
// is neither charging nor discharging (i.e. current is zero) in a non-full
|
|
// state, which may indicate a battery defect.
|
|
DISCHARGING = 2;
|
|
// The system doesn't have a battery.
|
|
NOT_PRESENT = 3;
|
|
// Next value to use: 4
|
|
}
|
|
// Details about a potential source of power to the system.
|
|
message PowerSource {
|
|
enum Port {
|
|
// The location of the port is unknown, or there's only one port.
|
|
UNKNOWN = 0;
|
|
// Various positions on the device. The first word describes the side of
|
|
// the device where the port is located while the second clarifies the
|
|
// position. For example, LEFT_BACK means the farthest-back port on the
|
|
// left side, while BACK_LEFT means the leftmost port on the back of the
|
|
// device.
|
|
LEFT = 1;
|
|
RIGHT = 2;
|
|
BACK = 3;
|
|
FRONT = 4;
|
|
LEFT_FRONT = 5;
|
|
LEFT_BACK = 6;
|
|
RIGHT_FRONT = 7;
|
|
RIGHT_BACK = 8;
|
|
BACK_LEFT = 9;
|
|
BACK_RIGHT = 10;
|
|
// Next value to use: 11
|
|
}
|
|
enum Type {
|
|
// Unspecified type.
|
|
OTHER = 0;
|
|
// Dedicated charger. Typically single-purpose and non-USB (e.g. barrel
|
|
// jack plugs). Corresponds to kernel-reported type "Mains". This source
|
|
// is reported by the ACPI driver and may also appear (along with a USB_PD
|
|
// source) on Type-C-only systems if the ACPI driver is present.
|
|
MAINS = 1;
|
|
// USB Type-C, including dedicated Type-C chargers. Typically >= 7.5W.
|
|
// Corresponds to kernel-reported types "USB_C", "USB_PD", "USB_PD_DRP",
|
|
// and "BrickID".
|
|
USB_C = 2;
|
|
// USB Battery Charging r1.2. Typically <= 7.5W. Corresponds to
|
|
// kernel-reported types "USB", "USB_ACA", "USB_CDP", and "USB_DCP".
|
|
USB_BC_1_2 = 3;
|
|
// Next value to use: 4
|
|
}
|
|
// Opaque ID corresponding to the device. Do not use this for any purpose
|
|
// beyond comparisons with |external_power_source_id| or as an argument to
|
|
// powerd's SetPowerSource D-Bus method.
|
|
optional string id = 1;
|
|
// The charging port to which this power source is connected.
|
|
optional Port port = 7;
|
|
// Power source type.
|
|
optional Type type = 8;
|
|
// Raw strings read from |manufacturer| and |model_name| files in sysfs.
|
|
optional string manufacturer_id = 4;
|
|
optional string model_id = 5;
|
|
// Maximum power this source is capable of delivering, in watts.
|
|
optional double max_power = 6;
|
|
// True if the power source will automatically deliver charge to the system
|
|
// when connected (assuming there isn't another |active_by_default| source
|
|
// doing so). If false, the source will not deliver charge unless requested
|
|
// to do so by the user.
|
|
optional bool active_by_default = 3;
|
|
// Next ID to use: 9
|
|
}
|
|
// Current state of the external power source.
|
|
optional ExternalPower external_power = 14;
|
|
// ID of the PowerSource that is currently providing power to the system.
|
|
optional string external_power_source_id = 17;
|
|
// Currently-connected external power sources.
|
|
repeated PowerSource available_external_power_source = 18;
|
|
// Current state of the battery.
|
|
optional BatteryState battery_state = 15;
|
|
// Estimated battery charge as a percent of its total capacity, in the
|
|
// range [0.0, 100.0]. Unset if a battery isn't present.
|
|
optional double battery_percent = 7 [default = -1.0];
|
|
// Estimated time until the battery is empty, in seconds, or zero if the
|
|
// battery isn't discharging. -1 if the estimated time would be huge
|
|
// (e.g. because the current is zero or close to zero). Unset if a battery
|
|
// isn't present.
|
|
optional int64 battery_time_to_empty_sec = 5;
|
|
// Estimated time until the battery is full, in seconds, or zero if the
|
|
// battery isn't charging. -1 if the estimated time would be huge (e.g.
|
|
// because the current is zero or close to zero). Contains the best estimate
|
|
// for when the battery will be full when Adaptive Charging is delaying
|
|
// charge. If there is no current estimate for when Adaptive Charging will
|
|
// finish, the value is zero. Unset if a battery isn't present.
|
|
optional int64 battery_time_to_full_sec = 6;
|
|
// True when |battery_time_to_*| can't be trusted, e.g. because the power
|
|
// source just changed. Unset if a battery isn't present.
|
|
optional bool is_calculating_battery_time = 12 [default = false];
|
|
// The battery discharge rate measured in W. Positive if the battery is being
|
|
// discharged, negative if it's being charged, or unset if a battery isn't
|
|
// present.
|
|
optional double battery_discharge_rate = 16;
|
|
// True if it is possible for some connected devices to function as either
|
|
// sources or sinks (i.e. to either deliver or receive charge).
|
|
optional bool supports_dual_role_devices = 19;
|
|
// Current battery voltage level.
|
|
optional double battery_voltage = 20;
|
|
// Battery manufacturer reported in sysfs as either "manufacturer" or
|
|
// "vendor". Ex.: "SIMPLO"
|
|
optional string battery_vendor = 21;
|
|
// Battery cycle count representing the total number of times all the
|
|
// battery's power has been used.
|
|
optional int64 battery_cycle_count = 22;
|
|
// Battery serial number reported in sysfs.
|
|
optional string battery_serial_number = 23;
|
|
// Battery design capacity measured in ampere-hours (Ah).
|
|
optional double battery_charge_full_design = 24;
|
|
// Battery full capacity measured in ampere-hours (Ah).
|
|
optional double battery_charge_full = 25;
|
|
// Battery voltage min design measured in V.
|
|
optional double battery_voltage_min_design = 26;
|
|
// Current battery charge right now, measured in ampere-hours (Ah).
|
|
optional double battery_charge = 27;
|
|
// Battery model name reported by |model_name|.
|
|
optional string battery_model_name = 28;
|
|
// Battery current as of now, measured in amperes (A).
|
|
optional double battery_current = 29;
|
|
// Battery technology read from sysfs.
|
|
optional string battery_technology = 30;
|
|
// Battery status read from sysfs.
|
|
optional string battery_status = 31;
|
|
// The device's preferred minimum external power input in watts (W). When
|
|
// requesting the user use a higher-power external power source, this value
|
|
// can be displayed.
|
|
optional double preferred_minimum_external_power = 32;
|
|
// Indicates if the system supports Adaptive Charging required functionality.
|
|
optional bool adaptive_charging_supported = 33 [default = false];
|
|
// Indicates whether charging to full is delayed by adaptive charging. If so,
|
|
// |battery_time_to_full_sec| indicates the time until the battery is planned
|
|
// to be fully charged. The planned time to fully charge the battery may
|
|
// change over time based on predictions from adaptive battery.
|
|
optional bool adaptive_delaying_charge = 34 [default = false];
|
|
// Indicates if Adaptive Charging is currently allowed by its heuristic, which
|
|
// disables Adaptive Charging if the charging behavior of the user won't
|
|
// benefit from the feature.
|
|
// Unused unless Adaptive Charging is supported on the system.
|
|
optional bool adaptive_charging_heuristic_enabled = 35;
|
|
// Next ID to use: 36
|
|
}
|