示例#1
0
            public IEnumerable <Sample> GetData()
            {
                if (check)
                {
                    check = false;

                    if (smbus.Available)
                    {
                        int MFR_MODEL = smbus.GetReg(ADDRESS, 0x9a, 2);
                        available = MFR_MODEL == 0x3298;
                    }
                    else
                    {
                        available = false;
                    }
                }

                if (available)
                {
                    int VOUT = smbus.GetReg(ADDRESS, 0x8b, 2);
                    int IOUT = smbus.GetReg(ADDRESS, 0x8c, 2);
                    int POUT = smbus.GetReg(ADDRESS, 0x96, 2);

                    var VID     = GetVID(VOUT);
                    var Power   = ReadLiteral(POUT);
                    var Current = ReadLiteral(IOUT);

                    yield return(Sample.Voltage("CPU VID", VID, true));

                    yield return(Sample.Other("CPU Current", Current, true));

                    yield return(Sample.Other("CPU Power", Power, true));
                }
            }