blob: ed99ada0f7977e95718ad60fcb8dd963e1d1a067 [file] [log] [blame]
// Copyright 2019 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 = "proto3";
package lab;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/lab";
import "lab/chromeos_device_id.proto";
// This proto defines status labels in lab config of a DUT.
// Next Tag: 10
message DutState {
ChromeOSDeviceID id = 1;
PeripheralState servo = 2;
PeripheralState chameleon = 3;
PeripheralState audio_loopback_dongle = 4;
// Indicate how many working bluetooth btpeer for a device.
int32 working_bluetooth_btpeer = 5;
// CR50-related configs by definition shouldn't be a state config, but a build config.
// However, we don't have a way to source it from any external configuration system,
// and it's changed frequently enough to handle cr50 tests, which makes
// it basically impossible for manual updatings: See crbug.com/1057145 for the
// troubles it causes.
//
// So we temporarily set it in state config so that repair job can update it.
// For further changes of it, please see tracking bug crbug.com/1057719.
//
// phases for cr50 module. Next Tag: 3
enum CR50Phase {
CR50_PHASE_INVALID = 0;
CR50_PHASE_PREPVT = 1;
CR50_PHASE_PVT = 2;
}
CR50Phase cr50_phase = 6;
// key env for cr50 RW version. Next Tag: 3
enum CR50KeyEnv {
CR50_KEYENV_INVALID = 0;
CR50_KEYENV_PROD = 1;
CR50_KEYENV_DEV = 2;
}
// Detected based on the cr50 RW version that the DUT is running on.
CR50KeyEnv cr50_key_env = 7;
// Detected during running admin_audit task.
HardwareState storage_state = 8;
HardwareState servo_usb_state = 9;
}
// Next Tag: 5
enum PeripheralState {
// keep for all unknown states except working & not_connected.
UNKNOWN = 0;
WORKING = 1;
NOT_CONNECTED = 2;
BROKEN = 3;
WRONG_CONFIG = 4;
}
// Next Tag: 4
enum HardwareState {
// keep for all unknown state by default.
HARDWARE_UNKNOWN = 0;
HARDWARE_NORMAL = 1;
HARDWARE_ACCEPTABLE = 2;
HARDWARE_NEED_REPLACEMENT = 3;
}