blob: 91e3018eca03f8e7cef03122fc42243401c03139 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package power_manager;
option go_package = "power_manager_proto";
// Device thermal state change notification from powerd to Chrome.
message ThermalEvent {
// Current device's temperature-related state.
// This is similar to MacOS NSProcessInfoThermalState.
enum ThermalState {
UNKNOWN = 0;
// The device's temperature-related conditions (thermals) are at an
// acceptable level. There is no noticeable negative impact to the user.
NOMINAL = 1;
// Thermals are minimally elevated. On devices with fans, those fans may
// become active, audible, and distracting to the user. Energy usage is
// elevated, potentially reducing battery life.
FAIR = 2;
// Thermals are highly elevated. Fans are active, running at maximum speed,
// audible, and distracting to the user. System performance may also be
// impacted as the system begins enacting countermeasures to reduce thermals
// to a more acceptable level.
SERIOUS = 3;
// Thermals are significantly elevated. The device needs to cool down.
CRITICAL = 4;
}
optional ThermalState thermal_state = 1;
// Monotonically-increasing time at which this event occurred, as given by
// base::TimeTicks::ToInternalValue().
optional int64 timestamp = 2;
}