// Copyright 2023 The Chromium Authors
// 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: 14
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 tasks.
  HardwareState storage_state = 8;
  HardwareState servo_usb_state = 9;
  HardwareState battery_state = 11;
  HardwareState wifi_state = 12;
  HardwareState bluetooth_state = 13;
  PeripheralState rpm_state = 10;
}

// Next Tag: 26
enum PeripheralState {
  // Please keep for all unknown states.
  UNKNOWN = 0;
  // Device and software on it is working as expected.
  WORKING = 1;
  // Configuration for device is not provided.
  MISSING_CONFIG = 5;
  // Configuration contains incorrect information.
  WRONG_CONFIG = 4;
  // Device is not connected/plugged.
  NOT_CONNECTED = 2;
  // Device is not reachable over ssh.
  NO_SSH = 6;
  // Device is broken or not working as expected. the state used if no specified
  // state for the issue.
  BROKEN = 3;
  // Device cannot be repaired or required manual attention to fix/replace it.
  NEED_REPLACEMENT = 7;

  // Servo specific states.
  // cr50 console missing or unresponsive.
  CR50_CONSOLE_MISSING = 13;
  // Servod daemon cannot start on servo-host because cr50 testlab not enabled.
  CCD_TESTLAB_ISSUE = 8;
  // Servod daemon cannot start on servo-host.
  SERVOD_ISSUE = 9;
  // device lid is not open.
  LID_OPEN_FAILED = 10;
  // the ribbon cable between servo and DUT is broken or not connected.
  BAD_RIBBON_CABLE = 11;
  // the EC on the DUT has issue.
  EC_BROKEN = 12;
  // Servo is not connected to the DUT.
  DUT_NOT_CONNECTED = 14;
  // Some component in servo-topology missed or not detected.
  TOPOLOGY_ISSUE = 15;
  // SBU voltage issues effect CR50 detection.
  SBU_LOW_VOLTAGE = 16;
  // CR50 SBU voltage detected but device was not enumerated.
  CR50_NOT_ENUMERATED = 17;
  // Servo serial mismatch, when servo not detected and another serial detected
  // on previous used port.
  SERVO_SERIAL_MISMATCH = 18;
  // Issue to connect to servod by XMLRPC proxy.
  SERVOD_PROXY_ISSUE = 19;
  // Issue related to servo-host. Timeout to start servod or issue with
  // detecting devices.
  SERVO_HOST_ISSUE = 20;
  // Issue related to servo_updater.
  SERVO_UPDATER_ISSUE = 21;
  // Issue detected in servod and reported by dut_controller_missing_fault
  // control.
  SERVOD_DUT_CONTROLLER_MISSING = 22;
  // Issue related to cold reset pin on the DUT.
  COLD_RESET_PIN_ISSUE = 23;
  // Issue related to warm reset pin on the DUT.
  WARM_RESET_PIN_ISSUE = 24;
  // Issue related to power button pin on the DUT.
  POWER_BUTTON_PIN_ISSUE = 25;
  // Peripheral state is not applicable.
  NOT_APPLICABLE = 26;
  // The servo device connected to debug header is not detected.
  // Reported by dut_controller_missing_fault control.
  DEBUG_HEADER_SERVO_MISSING = 27;
}

// The states are using for DUT storage and USB-drive on servo.
// Next Tag: 5
enum HardwareState {
  // keep for all unknown state by default.
  HARDWARE_UNKNOWN = 0;
  // Hardware is in good shape and pass all verifiers.
  HARDWARE_NORMAL = 1;
  // Hardware is still good but some not critical verifiers did not pass or
  // provided border values. (used for DUT storage when usage reached 98%)
  HARDWARE_ACCEPTABLE = 2;
  // Hardware is broken or bad (did not pass verifiers).
  HARDWARE_NEED_REPLACEMENT = 3;
  // Hardware is not detected to run verifiers.
  // (used for USB-drive when it expected but not detected on the device)
  HARDWARE_NOT_DETECTED = 4;
}
