Commit ab18c7f3 authored by Denis Kuznetsov's avatar Denis Kuznetsov Committed by Commit Bot

Add manufactured date field to battery telemetry data.

BUG=b:129924393

Change-Id: I0f7cf9a05d2bd4e5e8cb01e467ccecb3d28d7e9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1614182
Commit-Queue: Denis Kuznetsov <antrim@chromium.org>
Reviewed-by: default avatarSergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#660992}
parent b8296ec2
...@@ -546,6 +546,8 @@ class DeviceStatusCollectorState : public StatusCollectorState { ...@@ -546,6 +546,8 @@ class DeviceStatusCollectorState : public StatusCollectorState {
tpm_status_struct.boot_lockbox_finalized); tpm_status_struct.boot_lockbox_finalized);
} }
// Note that we use proto3 syntax for ProbeResult, so missing fields will
// have default values.
void OnProbeDataReceived( void OnProbeDataReceived(
const base::Optional<runtime_probe::ProbeResult>& probe_result, const base::Optional<runtime_probe::ProbeResult>& probe_result,
const base::circular_deque<std::unique_ptr<SampledData>>& samples) { const base::circular_deque<std::unique_ptr<SampledData>>& samples) {
...@@ -587,6 +589,18 @@ class DeviceStatusCollectorState : public StatusCollectorState { ...@@ -587,6 +589,18 @@ class DeviceStatusCollectorState : public StatusCollectorState {
// uV to mV: // uV to mV:
battery_info->set_design_min_voltage( battery_info->set_design_min_voltage(
battery.values().voltage_min_design() / 1000); battery.values().voltage_min_design() / 1000);
if (battery.values().manufacture_date_smart() > 0) {
// manufacture_date in (((year-1980) * 16 + month) * 32 + day) format.
int remainder = battery.values().manufacture_date_smart();
int day = remainder % 32;
remainder /= 32;
int month = remainder % 16;
remainder /= 16;
int year = remainder + 1980;
// set manufacture_date in yyyy-mm-dd format.
battery_info->set_manufacture_date(
base::StringPrintf("%04d-%02d-%02d", year, month, day));
}
for (const std::unique_ptr<SampledData>& sample_data : samples) { for (const std::unique_ptr<SampledData>& sample_data : samples) {
auto it = sample_data->battery_samples.find(battery.name()); auto it = sample_data->battery_samples.find(battery.name());
......
...@@ -860,6 +860,8 @@ message BatteryInfo { ...@@ -860,6 +860,8 @@ message BatteryInfo {
repeated BatterySample samples = 7; repeated BatterySample samples = 7;
// Designed minimum output voltage (mV) // Designed minimum output voltage (mV)
optional int32 design_min_voltage = 9; optional int32 design_min_voltage = 9;
// The date the battery was manufactured in yyyy-mm-dd format.
optional string manufacture_date = 10;
} }
// Status of the power subsystem // Status of the power subsystem
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment