| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Public Member Functions | Protected Member Functions | Protected Attributes
LT_PMBusDevice Class Referenceabstract

## Detailed Description

Definition at line 75 of file LT_PMBusDevice.h.

Inheritance diagram for LT_PMBusDevice:

## Public Member Functions
virtual | ~LT_PMBusDevice ()
LT_PMBus * | pmbus ()
LT_SMBus * | smbus ()
void | changePMBus (LT_PMBus *pmbus)
| Change the pmbus. More...
uint8_t | getAddress ()
| Get the address. More...
virtual char * | getType (void)
virtual uint8_t | getNumPages (void)=0
void | setPage (uint8_t page)
uint32_t | getMaxSpeed (void)
| Get the maximum speed the device can communicate with. More...
virtual void | setSpeed (uint32_t speed)
| Set the speed. If > 100000, enable clock stretching. More...
virtual uint32_t | getCapabilities ()=0
| Get the supported capabilities. More...
virtual bool | hasCapability (uint32_t capability)=0
| Is/are these capability(s) supported? More...
virtual LT_PMBusRail ** | getRails ()=0
| Return a list of rails if any page is part of a rail. More...
virtual void | enableFaultLog ()
| Enable the Fault Log. More...
virtual void | disableFaultLog ()
| Disable the Fault Log. More...
virtual bool | hasFaultLog ()
| Is there a fault log? More...
virtual char * | getFaultLog ()
| Get the fault log text (call must free) More...
virtual void | clearFaultLog ()
| Clear the Fault Log. More...
void | setVout (float voltage)
float | readVin (bool polling)
float | readVout (bool polling)
float | readIin (bool polling)
float | readIout (bool polling)
float | readPin (bool polling)
float | readPout (bool polling)
float | readExternalTemperature (bool polling)
float | readInternalTemperature (bool polling)
float | readDutyCycle (bool polling)
uint16_t | readStatusWord ()
uint16_t | readMfrSpecialId ()
void | clearFaults ()
void | marginHigh ()
void | marginLow ()
void | marginOff ()

## Protected Member Functions
| LT_PMBusDevice (LT_PMBus *pmbus, uint8_t address)
void | probeSpeed ()

## Protected Attributes
LT_PMBus * | pmbus_
uint8_t | address_
uint32_t | maxSpeed_
uint8_t | model_ [9]

## Member Function Documentation

## ◆ changePMBus()

void LT_PMBusDevice::changePMBus | ( | LT_PMBus * | pmbus | ) |

Change the pmbus.

Definition at line 80 of file LT_PMBusDevice.cpp.

## ◆ clearFaultLog()

virtual void LT_PMBusDevice::clearFaultLog | ( |  | ) |
| virtual

Clear the Fault Log.

Reimplemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, and LT_PMBusDeviceLTM4677.

Definition at line 149 of file LT_PMBusDevice.h.

## ◆ clearFaults()

void LT_PMBusDevice::clearFaults | ( |  | ) |

Definition at line 253 of file LT_PMBusDevice.cpp.

## ◆ disableFaultLog()

virtual void LT_PMBusDevice::disableFaultLog | ( |  | ) |
| virtual

Disable the Fault Log.

Reimplemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, and LT_PMBusDeviceLTM4677.

Definition at line 138 of file LT_PMBusDevice.h.

## ◆ enableFaultLog()

virtual void LT_PMBusDevice::enableFaultLog | ( |  | ) |
| virtual

Enable the Fault Log.

Reimplemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, and LT_PMBusDeviceLTM4677.

Definition at line 135 of file LT_PMBusDevice.h.

## ◆ getAddress()

uint8_t LT_PMBusDevice::getAddress | ( |  | ) |

Get the address.

Returns
  address

Definition at line 87 of file LT_PMBusDevice.cpp.

## ◆ getCapabilities()

virtual uint32_t LT_PMBusDevice::getCapabilities | ( |  | ) |
| pure virtual

Get the supported capabilities.

Returns
  or'd list of capabilities

Implemented in LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTM4677, LT_PMBusDeviceLTC2975, LT_PMBusDeviceLTC3886, and LT_PMBusDeviceLTC3887.

## ◆ getFaultLog()

char * LT_PMBusDevice::getFaultLog | ( |  | ) |
| virtual

Get the fault log text (call must free)

Returns
  text

Reimplemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, and LT_PMBusDeviceLTM4677.

Definition at line 139 of file LT_PMBusDevice.cpp.

## ◆ getMaxSpeed()

uint32_t LT_PMBusDevice::getMaxSpeed | ( | void |  | ) |

Get the maximum speed the device can communicate with.

Returns
  speed

Definition at line 104 of file LT_PMBusDevice.cpp.

## ◆ getNumPages()

virtual uint8_t LT_PMBusDevice::getNumPages | ( | void |  | ) |
| pure virtual

Implemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, LT_PMBusDeviceLTM4677, LT_PMBusDeviceLTC3886, LT_PMBusDeviceLTC3887, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTC2980, and LT_PMBusDeviceLTC2975.

## ◆ getRails()

LT_PMBusRail ** LT_PMBusDevice::getRails | ( |  | ) |
| pure virtual

Return a list of rails if any page is part of a rail.

Returns
  A rail, but partially built, and may need merging with other devices. Caller must free memory.

Implemented in LT_PMBusDeviceManager, and LT_PMBusDeviceController.

Definition at line 129 of file LT_PMBusDevice.cpp.

## ◆ getType()

char * LT_PMBusDevice::getType | ( | void |  | ) |
| virtual

Reimplemented in LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTM2987, and LT_PMBusDeviceLTC2975.

Definition at line 93 of file LT_PMBusDevice.cpp.

## ◆ hasCapability()

virtual bool LT_PMBusDevice::hasCapability | ( | uint32_t | capability | ) |
| pure virtual

Is/are these capability(s) supported?

Returns
  true if yes

Parameters

  capability | List of capabilities

Implemented in LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTM4677, LT_PMBusDeviceLTC2975, LT_PMBusDeviceLTC3886, and LT_PMBusDeviceLTC3887.

## ◆ hasFaultLog()

bool LT_PMBusDevice::hasFaultLog | ( |  | ) |
| virtual

Is there a fault log?

Returns
  true/false

Reimplemented in LT_PMBusDeviceLTM4675, LT_PMBusDeviceLTC2977, LT_PMBusDeviceLTC2980, LT_PMBusDeviceLTC3880, LT_PMBusDeviceLTC2978, LT_PMBusDeviceLTM2987, LT_PMBusDeviceLTC2974, LT_PMBusDeviceLTM4676, LT_PMBusDeviceLTC3882, LT_PMBusDeviceLTC3883, and LT_PMBusDeviceLTM4677.

Definition at line 134 of file LT_PMBusDevice.cpp.

## ◆ marginHigh()

void LT_PMBusDevice::marginHigh | ( |  | ) |

Definition at line 258 of file LT_PMBusDevice.cpp.

## ◆ marginLow()

void LT_PMBusDevice::marginLow | ( |  | ) |

Definition at line 263 of file LT_PMBusDevice.cpp.

## ◆ marginOff()

void LT_PMBusDevice::marginOff | ( |  | ) |

Definition at line 268 of file LT_PMBusDevice.cpp.

## ◆ pmbus()

LT_PMBus * LT_PMBusDevice::pmbus | ( |  | ) |

Definition at line 70 of file LT_PMBusDevice.cpp.

## ◆ probeSpeed()

void LT_PMBusDevice::probeSpeed | ( |  | ) |
| protected

Definition at line 57 of file LT_PMBusDevice.cpp.

## ◆ readDutyCycle()

float LT_PMBusDevice::readDutyCycle | ( | bool | polling | ) |

Definition at line 224 of file LT_PMBusDevice.cpp.

## ◆ readExternalTemperature()

float LT_PMBusDevice::readExternalTemperature | ( | bool | polling | ) |

Definition at line 204 of file LT_PMBusDevice.cpp.

## ◆ readIin()

float LT_PMBusDevice::readIin | ( | bool | polling | ) |

Definition at line 164 of file LT_PMBusDevice.cpp.

## ◆ readInternalTemperature()

float LT_PMBusDevice::readInternalTemperature | ( | bool | polling | ) |

Definition at line 214 of file LT_PMBusDevice.cpp.

## ◆ readIout()

float LT_PMBusDevice::readIout | ( | bool | polling | ) |

Definition at line 174 of file LT_PMBusDevice.cpp.

## ◆ readMfrSpecialId()

uint16_t LT_PMBusDevice::readMfrSpecialId | ( |  | ) |

Definition at line 244 of file LT_PMBusDevice.cpp.

## ◆ readPin()

float LT_PMBusDevice::readPin | ( | bool | polling | ) |

Definition at line 184 of file LT_PMBusDevice.cpp.

## ◆ readPout()

float LT_PMBusDevice::readPout | ( | bool | polling | ) |

Definition at line 194 of file LT_PMBusDevice.cpp.

## ◆ readStatusWord()

uint16_t LT_PMBusDevice::readStatusWord | ( |  | ) |

Definition at line 234 of file LT_PMBusDevice.cpp.

## ◆ readVin()

float LT_PMBusDevice::readVin | ( | bool | polling | ) |

Definition at line 150 of file LT_PMBusDevice.cpp.

## ◆ readVout()

float LT_PMBusDevice::readVout | ( | bool | polling | ) |

Definition at line 157 of file LT_PMBusDevice.cpp.

## ◆ setPage()

void LT_PMBusDevice::setPage | ( | uint8_t | page | ) |

Definition at line 99 of file LT_PMBusDevice.cpp.

## ◆ setSpeed()

void LT_PMBusDevice::setSpeed | ( | uint32_t | speed | ) |
| virtual

Set the speed. If > 100000, enable clock stretching.

Speed

Parameters

  speed | Speed

Reimplemented in LT_PMBusDeviceManager.

Definition at line 109 of file LT_PMBusDevice.cpp.

## ◆ setVout()

void LT_PMBusDevice::setVout | ( | float | voltage | ) |

Definition at line 144 of file LT_PMBusDevice.cpp.

## ◆ smbus()

LT_SMBus * LT_PMBusDevice::smbus | ( |  | ) |

Definition at line 74 of file LT_PMBusDevice.cpp.

## Constructor & Destructor Documentation

## ◆ LT_PMBusDevice()

LT_PMBusDevice::LT_PMBusDevice | ( | LT_PMBus * | pmbus,
|  | uint8_t | address
| ) |  |
| protected

Definition at line 83 of file LT_PMBusDevice.h.

## ◆ ~LT_PMBusDevice()

virtual LT_PMBusDevice::~LT_PMBusDevice | ( |  | ) |
| virtual

Definition at line 93 of file LT_PMBusDevice.h.

## Field Documentation

## ◆ address_

uint8_t LT_PMBusDevice::address_
| protected

Definition at line 79 of file LT_PMBusDevice.h.

## ◆ maxSpeed_

uint32_t LT_PMBusDevice::maxSpeed_
| protected

Definition at line 80 of file LT_PMBusDevice.h.

## ◆ model_

uint8_t LT_PMBusDevice::model_[9]
| protected

Definition at line 81 of file LT_PMBusDevice.h.

## ◆ pmbus_

LT_PMBus* LT_PMBusDevice::pmbus_
| protected

Definition at line 78 of file LT_PMBusDevice.h.

The documentation for this class was generated from the following files:

- LT_PMBusDevice.h
- LT_PMBusDevice.cpp