55 #ifndef LT_PMBusDevice_H_ 56 #define LT_PMBusDevice_H_ 58 #define HAS_VOUT 1 << 0 59 #define HAS_VIN 1 << 1 60 #define HAS_IOUT 1 << 2 61 #define HAS_IIN 1 << 3 62 #define HAS_POUT 1 << 4 63 #define HAS_PIN 1 << 5 64 #define HAS_TEMP 1 << 6 66 #define HAS_STATUS_WORD 1 << 14 67 #define HAS_STATUS_EXT 1 << 15 117 virtual void setSpeed(uint32_t speed);
virtual LT_PMBusRail ** getRails()=0
Return a list of rails if any page is part of a rail.
uint32_t getMaxSpeed(void)
Get the maximum speed the device can communicate with.
float readPout(bool polling)
uint8_t getAddress()
Get the address.
virtual void setSpeed(uint32_t speed)
Set the speed. If > 100000, enable clock stretching.
float readVout(bool polling)
uint16_t readStatusWord()
virtual char * getFaultLog()
Get the fault log text (call must free)
virtual void enableFaultLog()
Enable the Fault Log.
float readIout(bool polling)
void changePMBus(LT_PMBus *pmbus)
Change the pmbus.
virtual char * getType(void)
virtual ~LT_PMBusDevice()
float readExternalTemperature(bool polling)
virtual void disableFaultLog()
Disable the Fault Log.
uint16_t readMfrSpecialId()
LT_PMBusDevice(LT_PMBus *pmbus, uint8_t address)
virtual uint32_t getCapabilities()=0
Get the supported capabilities.
float readIin(bool polling)
float readInternalTemperature(bool polling)
void setVout(float voltage)
float readVin(bool polling)
virtual uint8_t getNumPages(void)=0
virtual bool hasCapability(uint32_t capability)=0
Is/are these capability(s) supported?
float readDutyCycle(bool polling)
virtual bool hasFaultLog()
Is there a fault log?
float readPin(bool polling)
void setPage(uint8_t page)
PMBusRail communication. For Multiphase Rails.
virtual void clearFaultLog()
Clear the Fault Log.