use num_derive::FromPrimitive;

#[derive(FromPrimitive)]
#[repr(u32)]
pub enum TelemetryTags {
    BoardIdHigh = 1,
    BoardIdLow = 2,
    AsicId = 3,
    HarvestingState = 4,
    UpdateTelemSpeed = 5,
    Vcore = 6,
    Tdp = 7,
    Tdc = 8,
    VddLimits = 9,
    ThmLimits = 10,
    AsicTemperature = 11,
    VregTemperature = 12,
    BoardTemperature = 13,
    AiClk = 14,
    AxiClk = 15,
    ArcClk = 16,
    L2CPUClk0 = 17,
    L2CPUClk1 = 18,
    L2CPUClk2 = 19,
    L2CPUClk3 = 20,
    EthLiveStatus = 21,
    DdrStatus = 22,
    DdrSpeed = 23,
    EthFwVersion = 24,
    DdrFwVersion = 25,
    BmAppFwVersion = 26,
    BmBlFwVersion = 27,
    FlashBundleVersion = 28,
    CmFwVersion = 29,
    L2cpuFwVersion = 30,
    FanSpeed = 31,
    TimerHeartbeat = 32,
    TelemEnumCount = 33,
    EnabledTensixCol = 34,
    EnabledEth = 35,
    EnabledGddr = 36,
    EnabledL2Cpu = 37,
    PcieUsage = 38,
    NocTranslation = 40,
    FanRpm = 41,
    Gddr01Temp = 42,
    Gddr23Temp = 43,
    Gddr45Temp = 44,
    Gddr67Temp = 45,
    Gddr01CorrErrs = 46,
    Gddr23CorrErrs = 47,
    Gddr45CorrErrs = 48,
    Gddr67CorrErrs = 49,
    GddrUncorrErrs = 50,
    MaxGddrTemp = 51,
    AsicLocation = 52,
    BoardPowerLimit = 53,
    InputPower = 54,
    TdcLimitMax = 55,
    ThmLimitThrottle = 56,
    ThermTripCount = 60,
    AsicIdHigh = 61,
    AsicIdLow = 62,
    AiclkLimitMax = 63,
    TdpLimitMax = 64,
}
