edition = "2023";

package milotic_hft;

enum SensorType {
  SENSOR_TYPE_UNSPECIFIED = 0;
  SENSOR_TYPE_THERMAL = 1;
  SENSOR_TYPE_VOLTAGE = 2;
  SENSOR_TYPE_FANTACH = 3;
  SENSOR_TYPE_CURRENT = 4;
  SENSOR_TYPE_POWER = 5;
  SENSOR_TYPE_FREQUENCY = 6;
  SENSOR_TYPE_DUTYCYCLE = 7;
  SENSOR_TYPE_ENERGY = 8;
  SENSOR_TYPE_OEM_STATE = 9;
  SENSOR_TYPE_TIME = 11;
  SENSOR_TYPE_PRESENCE = 12;
  SENSOR_TYPE_COUNTER = 13;
}

enum SensorUnits {
  SENSOR_UNIT_UNSPECIFIED = 0;
  SENSOR_UNIT_DEGREES = 1;
  SENSOR_UNIT_MARGIN = 2;
  SENSOR_UNIT_TCONTROL = 3;
  SENSOR_UNIT_VOLTS = 4;
  SENSOR_UNIT_RPM = 5;
  SENSOR_UNIT_AMPS = 6;
  SENSOR_UNIT_WATTS = 7;
  SENSOR_UNIT_HERTZ = 8;
  SENSOR_UNIT_PERCENT = 9;
  SENSOR_UNIT_JOULES = 10;
  SENSOR_UNIT_SECONDS = 11;
  SENSOR_UNIT_PRESENCE = 12;
}

enum SensorSource {
  SENSOR_SOURCE_UNKNOWN = 0;
  SENSOR_SOURCE_HOST_ONLY = 1;
  SENSOR_SOURCE_BMC = 2;
}

message SensorIdentifier {
  string name = 1;
  SensorType type = 2;
  SensorUnits units = 3;
  string devpath = 4;
  SensorSource source = 5;
}
