Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board
LT_PMBus Class Reference

PMBus communication. More...

Detailed Description

PMBus communication.

Do not use polled commands with LTC2978 or LTC2977. Commands that end in WithPage use PAGE_PLUS. This is reserved for future products.

Definition at line 370 of file LT_PMBus.h.

Public Member Functions

 LT_PMBus (LT_SMBus *smbus)
 Construct a LT_PMBus. More...
 
 ~LT_PMBus ()
 
LT_SMBussmbus ()
 
void smbus (LT_SMBus *smbus)
 
PsmDeviceType deviceType (uint8_t address)
 Get the type of PSM device. More...
 
bool isLtc297x (uint8_t address)
 Determine if the device is from the LTC297X family, by using the product id in MFR_SPECIAL_ID. More...
 
bool isLtc2977 (uint8_t address)
 Determine if the device is from the LTC2977 family, by using the product id in MFR_SPECIAL_ID. More...
 
bool isLtc2974 (uint8_t address)
 Determine if the device is from the LTC2974 family, by using the product id in MFR_SPECIAL_ID. More...
 
bool isLtc2978 (uint8_t address)
 Determine if the device is a LTC2978/A by looking at bit 2 (RESERVED2) in the MFR_COMMON. More...
 
void setVout (uint8_t address, float voltage)
 Set output voltage. More...
 
void setVoutWithPage (uint8_t address, float voltage, uint8_t page)
 Set output voltage. More...
 
void setVoutWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set output voltage. More...
 
void setVoutWithSupervision (uint8_t address, float voltage, float margin_percent, float warn_percent, float fault_percent)
 Set output voltage and supervisors. More...
 
void setVoutWithSupervisionWithPage (uint8_t address, float voltage, float margin_percent, float warn_percent, float fault_percent, uint8_t page)
 Set output voltage and supervisors. More...
 
void setVoutWithSupervisionWithPagePlus (uint8_t address, float voltage, float margin_percent, float warn_percent, float fault_percent, uint8_t page)
 Set output voltage and supervisors. More...
 
void setVoutMaxWithPage (uint8_t address, float voltage, uint8_t page)
 Set the maximum output voltage. More...
 
void setVoutMaxWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the maximum output voltage. More...
 
void setVoutMax (uint8_t address, float voltage)
 Set the maximum output voltage. More...
 
void setTonDelay (uint8_t address, float delay)
 Set delay before rail turns on. More...
 
void setTonRise (uint8_t address, float rise)
 Set the turn on rise time. More...
 
void setTonMaxFaultLimit (uint8_t address, float max)
 Set the maximum time allow for turn on. More...
 
void setToffDelay (uint8_t address, float delay)
 Set the delay before the rail turns off. More...
 
void setToffFall (uint8_t address, float fall)
 Set the turn off fall time. More...
 
void setToffMaxWarnLimit (uint8_t address, float max)
 Set the maximum time allow to turn off. More...
 
void setVoutMin (uint8_t address, float voltage)
 Set the minimum output voltage. More...
 
void setVoutMinWithPage (uint8_t address, float voltage, uint8_t page)
 Set the minimum output voltage. More...
 
void setVoutMinWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the minimum output voltage. More...
 
void setVoutOvFaultLimit (uint8_t address, float voltage)
 Set the over voltage supervisor fault limit. More...
 
void setVoutOvFaultLimitWithPage (uint8_t address, float voltage, uint8_t page)
 Set the over voltage supervisor fault limit. More...
 
void setVoutOvFaultLimitWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the over voltage supervisor fault limit. More...
 
void setVoutOvWarnLimit (uint8_t address, float voltage)
 Set the over voltage supervisor warning limit. More...
 
void setVoutOvWarnLimitWithPage (uint8_t address, float voltage, uint8_t page)
 Set the over voltage supervisor warning limit. More...
 
void setVoutOvWarnLimitWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the over voltage supervisor warning limit. More...
 
void setVoutUvWarnLimit (uint8_t address, float voltage)
 Set the under voltage supervisor warning limit. More...
 
void setVoutUvWarnLimitWithPage (uint8_t address, float voltage, uint8_t page)
 Set the under voltage supervisor warning limit. More...
 
void setVoutUvWarnLimitWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the under voltage supervisor warning limit. More...
 
void setVoutMarginHigh (uint8_t address, float voltage)
 Set the margin high. More...
 
void setVoutMarginHighWithPage (uint8_t address, float voltage, uint8_t page)
 Set the margin high. More...
 
void setVoutMarginHighWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the margin high. More...
 
void setVoutMarginLow (uint8_t address, float voltage)
 Set the margin low. More...
 
void setVoutMarginLowWithPage (uint8_t address, float voltage, uint8_t page)
 Set the margin low. More...
 
void setVoutMarginLowWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the margin low. More...
 
void setVinOvWarningLimit (uint8_t address, float voltage)
 Set the input over voltage warning limit. More...
 
void setVoutUvFaultLimit (uint8_t address, float voltage)
 Set the under voltage fault limit. More...
 
void setVoutUvFaultLimitWithPage (uint8_t address, float voltage, uint8_t page)
 Set the under voltage fault limit. More...
 
void setVoutUvFaultLimitWithPagePlus (uint8_t address, float voltage, uint8_t page)
 Set the under voltage fault limit. More...
 
void setIoutOcFaultLimit (uint8_t address, float current)
 Set the over current fault limit. More...
 
void setIoutOcFaultLimitWithPage (uint8_t address, float current, uint8_t page)
 Set the over current fault limit. More...
 
void setIoutOcFaultLimitWithPagePlus (uint8_t address, float current, uint8_t page)
 Set the over current fault limit. More...
 
void setIoutOcWarnLimit (uint8_t address, float current)
 Set the over current warning limit. More...
 
void setIoutOcWarnLimitWithPage (uint8_t address, float current, uint8_t page)
 Set the over current warning limit. More...
 
void setIoutOcWarnLimitWithPagePlus (uint8_t address, float current, uint8_t page)
 Set the over current warning limit. More...
 
void setVinOvFaultLimit (uint8_t address, float voltage)
 Set the input over voltage fault limit. More...
 
void setVinOvWarnLimit (uint8_t address, float voltage)
 Set the input over voltage warnign limit. More...
 
void setVinUvFaultLimit (uint8_t address, float voltage)
 Set the input under voltage fault limit. More...
 
void setVinUvWarnLimit (uint8_t address, float voltage)
 Set the input under voltage warning limit. More...
 
void setIinOcWarnLimit (uint8_t address, float current)
 Set the input over current warning limit. More...
 
void setOtFaultLimit (uint8_t address, float temperature)
 Set the over temperature fault limit. More...
 
void setOtFaultLimitWithPage (uint8_t address, float temperature, uint8_t page)
 Set the over temperature fault limit. More...
 
void setOtFaultLimitWithPagePlus (uint8_t address, float temperature, uint8_t page)
 Set the over temperature fault limit. More...
 
void setOtWarnLimit (uint8_t address, float temperature)
 Set the over temperature warning limit. More...
 
void setOtWarnLimitWithPage (uint8_t address, float temperature, uint8_t page)
 Set the over temperature warning limit. More...
 
void setOtWarnLimitWithPagePlus (uint8_t address, float temperature, uint8_t page)
 Set the over temperature warning limit. More...
 
void setUtFaultLimit (uint8_t address, float temperature)
 Set the under temperature fault limit. More...
 
void setUtFaultLimitWithPage (uint8_t address, float temperature, uint8_t page)
 Set the under temperature fault limit. More...
 
void setUtFaultLimitWithPagePlus (uint8_t address, float temperature, uint8_t page)
 Set the under temperature fault limit. More...
 
void setUtWarnLimit (uint8_t address, float temperature)
 Set the under temperature warning limit. More...
 
void setUtWarnLimitWithPage (uint8_t address, float temperature, uint8_t page)
 Set the under temperature warning limit. More...
 
void setUtWarnLimitWithPagePlus (uint8_t address, float temperature, uint8_t page)
 Set the under temperature warning limit. More...
 
float getOtWarnLimit (uint8_t address)
 Get the over temperature warning limit. More...
 
float getOtWarnLimitWithPage (uint8_t address, uint8_t page)
 Get the over temperature warning limit. More...
 
float getOtWarnLimitWithPagePlus (uint8_t address, uint8_t page)
 Get the over temperature warning limit. More...
 
void setTemp1Gain (uint8_t address, uint16_t gain)
 Set the temperature 1 gain. More...
 
uint16_t getTemp1Gain (uint8_t address)
 Get the temperature 1 gain. More...
 
void setTemp1Offset (uint8_t address, float offset)
 Set the temperature 1 offset. More...
 
float getTemp1Offset (uint8_t address)
 Get the temperature 1 offset. More...
 
float readVin (uint8_t address, bool polling)
 Get the input voltage. More...
 
float getVoutOv (uint8_t address, bool polling)
 Get the output over voltage limit. More...
 
float getVoutOvWithPage (uint8_t address, uint8_t page)
 Get the output over voltage limit. More...
 
float getVoutOvWithPagePlus (uint8_t address, uint8_t page)
 Get the output over voltage limit. More...
 
float readVout (uint8_t address, bool polling)
 Get the measured output voltage. More...
 
float getVout (uint8_t address, bool polling)
 Get the set output voltage. More...
 
float readVoutWithPage (uint8_t address, uint8_t page)
 Get the measured output voltage. More...
 
float readVoutWithPagePlus (uint8_t address, uint8_t page)
 Get the measured output voltage. More...
 
float getVoutUv (uint8_t address, bool polling)
 Get the under voltage limit. More...
 
float getVoutUvWithPage (uint8_t address, uint8_t page)
 Get the under voltage limit. More...
 
float getVoutUvWithPagePlus (uint8_t address, uint8_t page)
 Get the under voltage limit. More...
 
float readIin (uint8_t address, bool polling)
 Get the input current. More...
 
float getIoutOc (uint8_t address, bool polling)
 Get the over current limit. More...
 
float getIoutOcWithPage (uint8_t address, uint8_t page)
 Get the over current limit. More...
 
float getIoutOcWithPagePlus (uint8_t address, uint8_t page)
 Get the over current limit. More...
 
float readIout (uint8_t address, bool polling)
 Get the measured output current. More...
 
float readIoutWithPage (uint8_t address, uint8_t page)
 Get the measured output current. More...
 
float readIoutWithPagePlus (uint8_t address, uint8_t page)
 Get the measured output current. More...
 
float readPin (uint8_t address, bool polling)
 Get the measured input power. More...
 
float readPout (uint8_t address, bool polling)
 Get the measured output power. More...
 
float readPoutWithPage (uint8_t address, uint8_t page)
 Get the measured output power. More...
 
float readPoutWithPagePlus (uint8_t address, uint8_t page)
 Get the measured output power. More...
 
float readExternalTemperature (uint8_t address, bool polling)
 Get the measured external temperature. More...
 
float readInternalTemperature (uint8_t address, bool polling)
 Get the measured internal temperature. More...
 
float readDutyCycle (uint8_t address, bool polling)
 Get the duty cycle. More...
 
float readItemp (uint8_t address)
 Get the internal measured temperature. More...
 
float readOtemp (uint8_t address)
 Get the external measured temperature. More...
 
float readOtempWithPage (uint8_t address, uint8_t page)
 Get the external measured temperature. More...
 
float readOtempWithPagePlus (uint8_t address, uint8_t page)
 Get the external measured temperature. More...
 
void setVoutStatusMask (uint8_t address, uint8_t mask)
 Get the output voltage status mask. More...
 
void setIoutStatusMask (uint8_t address, uint8_t mask)
 Get the output current status mask. More...
 
void setInputStatusMask (uint8_t address, uint8_t mask)
 Get the input status mask. More...
 
void setTemperatureStatusMask (uint8_t address, uint8_t mask)
 Get the temperature status mask. More...
 
void setCmlStatusMask (uint8_t address, uint8_t mask)
 Get the CML status mask. More...
 
void setMfrStatusMask (uint8_t address, uint8_t mask)
 Get the MFR status mask. More...
 
uint8_t getVoutStatusMask (uint8_t address)
 Get the output voltage status mask. More...
 
uint8_t getIoutStatusMask (uint8_t address)
 Get the output current status mask. More...
 
uint8_t getInputStatusMask (uint8_t address)
 Get the input status mask. More...
 
uint8_t getTemperatureStatusMask (uint8_t address)
 Get the temperature status mask. More...
 
uint8_t getCmlStatusMask (uint8_t address)
 Get the CML status mask. More...
 
uint8_t getMfrStatusMask (uint8_t address)
 Get the MFR status mask. More...
 
uint8_t readVoutStatusByte (uint8_t address)
 Get the output voltage status byte. More...
 
uint8_t readIoutStatusByte (uint8_t address)
 Get the output current status byte. More...
 
uint8_t readInputStatusByte (uint8_t address)
 Get the input status byte. More...
 
uint8_t readTemperatureStatusByte (uint8_t address)
 Get the temperature status byte. More...
 
uint8_t readCmlStatusByte (uint8_t address)
 Get the CML status byte. More...
 
uint8_t readMfrStatusByte (uint8_t address)
 Get the MFR status byte. More...
 
uint8_t readMfrFaultLogStatusByte (uint8_t address)
 Get the fault log status byte. More...
 
uint16_t readMfrPads (uint8_t address)
 Get the state of the pads. More...
 
uint8_t readPmbusRevision (uint8_t address)
 Get the pmbus revision. More...
 
void readRevision (uint8_t address, uint8_t *revision)
 Get the slave revision. More...
 
void readModel (uint8_t address, uint8_t *model)
 Get the model. More...
 
uint8_t readStatusByte (uint8_t address)
 Get the status byte. More...
 
uint8_t readStatusByteWithPage (uint8_t address, uint8_t page)
 Get the status byte. More...
 
uint8_t readStatusByteWithPagePlus (uint8_t address, uint8_t page)
 Get the status byte. More...
 
uint16_t readStatusWord (uint8_t address)
 Get the status word. More...
 
uint16_t readStatusWordWithPage (uint8_t address, uint8_t page)
 Get the status word. More...
 
uint16_t readStatusWordWithPagePlus (uint8_t address, uint8_t page)
 Get the status word. More...
 
uint8_t readStatusCml (uint8_t address)
 Get the status CML byte. More...
 
void enableWriteProtect (uint8_t address)
 Enable the write protect. More...
 
void enableWriteProtectGlobal (void)
 Enable the write protect. More...
 
void disableWriteProtect (uint8_t address)
 Disable the write protect. More...
 
void disableWriteProtectGlobal (void)
 Disable the write protect. More...
 
void clearFaults (uint8_t address)
 Clear the faults of the existing page. More...
 
void clearAllFaults (uint8_t address)
 Clear all the faults for all pages. More...
 
void clearFaultsGlobal (void)
 Clear all the faults for all pages of all devices. More...
 
void setMfrWatchdogFirst (uint8_t address, float delay)
 Set the first watchdog timer. More...
 
void setMfrWatchdog (uint8_t address, float delay)
 Set watchdog timer. More...
 
void restoreFromNvm (uint8_t address)
 Restore device from NVM. More...
 
void restoreFromNvmAll (uint8_t *addresses, uint8_t no_addresses)
 Restore list of devices from NVM. More...
 
void restoreFromNvmGlobal (void)
 Restore all devices from NVM. More...
 
void storeToNvm (uint8_t address)
 Store RAM to NVM. More...
 
void storeToNvmAll (uint8_t *addresses, uint8_t no_addresses)
 Store RAM to NVM for list of devices. More...
 
void storeToNvmGlobal (void)
 Store RAM to NVM for all devices. More...
 
bool unlockNVM (uint8_t address)
 Unlock NVM. More...
 
bool lockNVM (uint8_t address)
 Lock NVM. More...
 
void eraseNVM (uint8_t address)
 
bool compareRamWithNvm (uint8_t address)
 Compare RAM to NVM for device. More...
 
void page (uint8_t *addresses, uint8_t no_addresses)
 Set the page. More...
 
void sequenceOn (uint8_t *addresses, uint8_t no_addresses)
 Sequence on a list of devices. More...
 
void immediateOff (uint8_t *addresses, uint8_t no_addresses)
 Turn off all devices immediately. More...
 
void sequenceOff (uint8_t *addresses, uint8_t no_addresses)
 Sequence off a list of addresses. More...
 
void sequenceOffGlobal (void)
 Sequence off all rails. More...
 
void sequenceOnGlobal (void)
 Sequence on all rails. More...
 
void immediateOffGlobal (void)
 Turn off all rails immediately. More...
 
void resetGlobal (void)
 Issue reset to all devices. More...
 
void reset (uint8_t address)
 Issue reset to one device. More...
 
void marginHighAll (uint8_t *addresses, uint8_t *pages, uint8_t no_addresses)
 Margin a list of rails high. More...
 
void marginLowAll (uint8_t *addresses, uint8_t *pages, uint8_t no_addresses)
 Margin a list of rails low. More...
 
void marginOffAll (uint8_t *addresses, uint8_t *pages, uint8_t no_addresses)
 Margin off a list of rails low. More...
 
void marginHigh (uint8_t address)
 Margin rail high. More...
 
void marginLow (uint8_t address)
 Margin rails low. More...
 
void marginOff (uint8_t address)
 Margin rails off. More...
 
void marginHighGlobal (void)
 Margin all rails high. More...
 
void marginLowGlobal (void)
 Margin all rails low. More...
 
void marginOffGlobal (void)
 Margin all rails off. More...
 
void setUserData03 (uint8_t address, uint16_t data)
 Set user data 3. More...
 
uint16_t getUserData03 (uint8_t address)
 Get user data 3. More...
 
void setUserData04 (uint8_t address, uint16_t data)
 Set user data 4. More...
 
uint16_t getUserData04 (uint8_t address)
 Get user data 4. More...
 
void setSpareData0 (uint8_t address, uint16_t data)
 Set spare data 0. More...
 
uint16_t getSpareData0 (uint8_t address)
 Get spare data 0. More...
 
void setRailAddress (uint8_t address, uint8_t rail_address)
 Set rail address of a Controller. More...
 
uint8_t getRailAddress (uint8_t address)
 Get the rail address of a Controller. More...
 
void setPageWithPolling (uint8_t address, uint8_t page)
 Set the page and poll the busy bit. More...
 
void setPage (uint8_t address, uint8_t page)
 Set the page. More...
 
uint8_t getPage (uint8_t address)
 Get the page. More...
 
void enablePec (uint8_t address)
 Enable pec for all transactions. More...
 
void disablePec (uint8_t address)
 Disable pec for all transactions. More...
 
uint8_t waitForNotBusy (uint8_t address)
 Read MFR_COMMON until not Busy. More...
 
uint8_t waitForNvmDone (uint8_t address)
 Read MFR_EEPROM_STATUS until done (LTC388X only) More...
 
uint8_t * bricks (uint8_t *addresses, uint8_t no_addresses)
 Find bricked devices. More...
 
void startGroupProtocol (void)
 starts group protocol More...
 
void executeGroupProtocol (void)
 ends group protocol More...
 
uint16_t readMfrSpecialId (uint8_t address)
 Get speical ID. More...
 

Member Function Documentation

◆ bricks()

uint8_t * LT_PMBus::bricks ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Find bricked devices.

Returns
a list of bricks Number of addresses
Parameters
addressesAddresses to test

Definition at line 3295 of file LT_PMBus.cpp.

◆ clearAllFaults()

void LT_PMBus::clearAllFaults ( uint8_t  address)

Clear all the faults for all pages.

Returns
void
Parameters
addressSlave address

Definition at line 2576 of file LT_PMBus.cpp.

◆ clearFaults()

void LT_PMBus::clearFaults ( uint8_t  address)

Clear the faults of the existing page.

Returns
void
Parameters
addressSlave address

Definition at line 2566 of file LT_PMBus.cpp.

◆ clearFaultsGlobal()

void LT_PMBus::clearFaultsGlobal ( void  )

Clear all the faults for all pages of all devices.

Returns
void

Definition at line 2606 of file LT_PMBus.cpp.

◆ compareRamWithNvm()

bool LT_PMBus::compareRamWithNvm ( uint8_t  address)

Compare RAM to NVM for device.

Returns
status (true = mismatch) Slave address

Definition at line 2750 of file LT_PMBus.cpp.

◆ deviceType()

PsmDeviceType LT_PMBus::deviceType ( uint8_t  address)

Get the type of PSM device.

Returns
the type
Parameters
address

Slave address

Definition at line 96 of file LT_PMBus.cpp.

◆ disablePec()

void LT_PMBus::disablePec ( uint8_t  address)

Disable pec for all transactions.

Returns
void
Parameters
addressSlave address

Definition at line 3210 of file LT_PMBus.cpp.

◆ disableWriteProtect()

void LT_PMBus::disableWriteProtect ( uint8_t  address)

Disable the write protect.

Returns
void
Parameters
addressSlave address

Definition at line 2548 of file LT_PMBus.cpp.

◆ disableWriteProtectGlobal()

void LT_PMBus::disableWriteProtectGlobal ( void  )

Disable the write protect.

Returns
void

Definition at line 2556 of file LT_PMBus.cpp.

◆ enablePec()

void LT_PMBus::enablePec ( uint8_t  address)

Enable pec for all transactions.

Returns
void
Parameters
addressSlave address

Definition at line 3173 of file LT_PMBus.cpp.

◆ enableWriteProtect()

void LT_PMBus::enableWriteProtect ( uint8_t  address)

Enable the write protect.

Returns
void
Parameters
addressSlave address

Definition at line 2530 of file LT_PMBus.cpp.

◆ enableWriteProtectGlobal()

void LT_PMBus::enableWriteProtectGlobal ( void  )

Enable the write protect.

Returns
void

Definition at line 2538 of file LT_PMBus.cpp.

◆ eraseNVM()

void LT_PMBus::eraseNVM ( uint8_t  address)

Definition at line 2743 of file LT_PMBus.cpp.

◆ executeGroupProtocol()

void LT_PMBus::executeGroupProtocol ( void  )

ends group protocol

Definition at line 3356 of file LT_PMBus.cpp.

◆ getCmlStatusMask()

uint8_t LT_PMBus::getCmlStatusMask ( uint8_t  address)

Get the CML status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2286 of file LT_PMBus.cpp.

◆ getInputStatusMask()

uint8_t LT_PMBus::getInputStatusMask ( uint8_t  address)

Get the input status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2262 of file LT_PMBus.cpp.

◆ getIoutOc()

float LT_PMBus::getIoutOc ( uint8_t  address,
bool  polling 
)

Get the over current limit.

Returns
limit
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1834 of file LT_PMBus.cpp.

◆ getIoutOcWithPage()

float LT_PMBus::getIoutOcWithPage ( uint8_t  address,
uint8_t  page 
)

Get the over current limit.

Returns
limit
Parameters
addressSlave address
pagePAGE

Definition at line 1860 of file LT_PMBus.cpp.

◆ getIoutOcWithPagePlus()

float LT_PMBus::getIoutOcWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the over current limit.

Returns
limit
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1874 of file LT_PMBus.cpp.

◆ getIoutStatusMask()

uint8_t LT_PMBus::getIoutStatusMask ( uint8_t  address)

Get the output current status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2250 of file LT_PMBus.cpp.

◆ getMfrStatusMask()

uint8_t LT_PMBus::getMfrStatusMask ( uint8_t  address)

Get the MFR status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2298 of file LT_PMBus.cpp.

◆ getOtWarnLimit()

float LT_PMBus::getOtWarnLimit ( uint8_t  address)

Get the over temperature warning limit.

Returns
limit
Parameters
addressSlave address

Definition at line 1432 of file LT_PMBus.cpp.

◆ getOtWarnLimitWithPage()

float LT_PMBus::getOtWarnLimitWithPage ( uint8_t  address,
uint8_t  page 
)

Get the over temperature warning limit.

Returns
limit
Parameters
addressSlave address
pagePAGE

Definition at line 1451 of file LT_PMBus.cpp.

◆ getOtWarnLimitWithPagePlus()

float LT_PMBus::getOtWarnLimitWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the over temperature warning limit.

Returns
limit
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1463 of file LT_PMBus.cpp.

◆ getPage()

uint8_t LT_PMBus::getPage ( uint8_t  address)

Get the page.

Returns
page
Parameters
addressSlave address

Definition at line 3167 of file LT_PMBus.cpp.

◆ getRailAddress()

uint8_t LT_PMBus::getRailAddress ( uint8_t  address)

Get the rail address of a Controller.

Returns
rail address
Parameters
addressSlave address

Definition at line 3131 of file LT_PMBus.cpp.

◆ getSpareData0()

uint16_t LT_PMBus::getSpareData0 ( uint8_t  address)

Get spare data 0.

Returns
data
Parameters
addressSlave address

Definition at line 3120 of file LT_PMBus.cpp.

◆ getTemp1Gain()

uint16_t LT_PMBus::getTemp1Gain ( uint8_t  address)

Get the temperature 1 gain.

Returns
gain
Parameters
addressSlave address

Definition at line 1380 of file LT_PMBus.cpp.

◆ getTemp1Offset()

float LT_PMBus::getTemp1Offset ( uint8_t  address)

Get the temperature 1 offset.

Returns
offset
Parameters
addressSlave address

Definition at line 1413 of file LT_PMBus.cpp.

◆ getTemperatureStatusMask()

uint8_t LT_PMBus::getTemperatureStatusMask ( uint8_t  address)

Get the temperature status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2274 of file LT_PMBus.cpp.

◆ getUserData03()

uint16_t LT_PMBus::getUserData03 ( uint8_t  address)

Get user data 3.

Returns
data
Parameters
addressSlave address

Definition at line 3099 of file LT_PMBus.cpp.

◆ getUserData04()

uint16_t LT_PMBus::getUserData04 ( uint8_t  address)

Get user data 4.

Returns
data
Parameters
addressSlave address

Definition at line 3109 of file LT_PMBus.cpp.

◆ getVout()

float LT_PMBus::getVout ( uint8_t  address,
bool  polling 
)

Get the set output voltage.

Returns
voltage
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1634 of file LT_PMBus.cpp.

◆ getVoutOv()

float LT_PMBus::getVoutOv ( uint8_t  address,
bool  polling 
)

Get the output over voltage limit.

Returns
limit
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1512 of file LT_PMBus.cpp.

◆ getVoutOvWithPage()

float LT_PMBus::getVoutOvWithPage ( uint8_t  address,
uint8_t  page 
)

Get the output over voltage limit.

Returns
limit
Parameters
addressSlave address
pagePAGE

Definition at line 1556 of file LT_PMBus.cpp.

◆ getVoutOvWithPagePlus()

float LT_PMBus::getVoutOvWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the output over voltage limit.

Returns
limit
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1570 of file LT_PMBus.cpp.

◆ getVoutStatusMask()

uint8_t LT_PMBus::getVoutStatusMask ( uint8_t  address)

Get the output voltage status mask.

Returns
mask
Parameters
addressSlave address

Definition at line 2238 of file LT_PMBus.cpp.

◆ getVoutUv()

float LT_PMBus::getVoutUv ( uint8_t  address,
bool  polling 
)

Get the under voltage limit.

Returns
limit
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1719 of file LT_PMBus.cpp.

◆ getVoutUvWithPage()

float LT_PMBus::getVoutUvWithPage ( uint8_t  address,
uint8_t  page 
)

Get the under voltage limit.

Returns
limit
Parameters
addressSlave address
pagePAGE

Definition at line 1763 of file LT_PMBus.cpp.

◆ getVoutUvWithPagePlus()

float LT_PMBus::getVoutUvWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the under voltage limit.

Returns
limit
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1777 of file LT_PMBus.cpp.

◆ immediateOff()

void LT_PMBus::immediateOff ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Turn off all devices immediately.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2822 of file LT_PMBus.cpp.

◆ immediateOffGlobal()

void LT_PMBus::immediateOffGlobal ( void  )

Turn off all rails immediately.

Returns
void

Definition at line 2886 of file LT_PMBus.cpp.

◆ isLtc2974()

bool LT_PMBus::isLtc2974 ( uint8_t  address)

Determine if the device is from the LTC2974 family, by using the product id in MFR_SPECIAL_ID.

Returns
true if is
Parameters
addressSlave address

Definition at line 158 of file LT_PMBus.cpp.

◆ isLtc2977()

bool LT_PMBus::isLtc2977 ( uint8_t  address)

Determine if the device is from the LTC2977 family, by using the product id in MFR_SPECIAL_ID.

Returns
true if is
Parameters
addressSlave address

Definition at line 152 of file LT_PMBus.cpp.

◆ isLtc2978()

bool LT_PMBus::isLtc2978 ( uint8_t  address)

Determine if the device is a LTC2978/A by looking at bit 2 (RESERVED2) in the MFR_COMMON.

This bit is high on all devices except LTC2978/A. Therfore, if the bit is low, the device is a LTC2987/A. This work around a LTC2978/A eratta whereby the MFR_SPECIAL_ID can be overwritten with incorrect data. MFR_SPECIAL_ID cannot be modified in the other devices.

Returns
true if is
Parameters
addressSlave address

Definition at line 164 of file LT_PMBus.cpp.

◆ isLtc297x()

bool LT_PMBus::isLtc297x ( uint8_t  address)

Determine if the device is from the LTC297X family, by using the product id in MFR_SPECIAL_ID.

Returns
true if is
Parameters
addressSlave address

Definition at line 146 of file LT_PMBus.cpp.

◆ lockNVM()

bool LT_PMBus::lockNVM ( uint8_t  address)

Lock NVM.

Parameters
addressSlave address

Definition at line 2729 of file LT_PMBus.cpp.

◆ marginHigh()

void LT_PMBus::marginHigh ( uint8_t  address)

Margin rail high.

Returns
void Slave address

Definition at line 3041 of file LT_PMBus.cpp.

◆ marginHighAll()

void LT_PMBus::marginHighAll ( uint8_t *  addresses,
uint8_t *  pages,
uint8_t  no_addresses 
)

Margin a list of rails high.

Returns
void
Parameters
addressesSlave addresses
pagesThe page used for setPage
no_addressesNumber of slave addresses

Definition at line 2923 of file LT_PMBus.cpp.

◆ marginHighGlobal()

void LT_PMBus::marginHighGlobal ( void  )

Margin all rails high.

Returns
void

Definition at line 3068 of file LT_PMBus.cpp.

◆ marginLow()

void LT_PMBus::marginLow ( uint8_t  address)

Margin rails low.

Returns
void Slave address

Definition at line 3050 of file LT_PMBus.cpp.

◆ marginLowAll()

void LT_PMBus::marginLowAll ( uint8_t *  addresses,
uint8_t *  pages,
uint8_t  no_addresses 
)

Margin a list of rails low.

Returns
void
Parameters
addressesSlave addresses
pagesThe page used for setPage
no_addressesNumber of slave addresses

Definition at line 2965 of file LT_PMBus.cpp.

◆ marginLowGlobal()

void LT_PMBus::marginLowGlobal ( void  )

Margin all rails low.

Returns
void

Definition at line 3078 of file LT_PMBus.cpp.

◆ marginOff()

void LT_PMBus::marginOff ( uint8_t  address)

Margin rails off.

Returns
void Slave address

Definition at line 3059 of file LT_PMBus.cpp.

◆ marginOffAll()

void LT_PMBus::marginOffAll ( uint8_t *  addresses,
uint8_t *  pages,
uint8_t  no_addresses 
)

Margin off a list of rails low.

Returns
void
Parameters
addressesSlave addresses
pagesThe page used for setPage
no_addressesNumber of slave addresses

Definition at line 3001 of file LT_PMBus.cpp.

◆ marginOffGlobal()

void LT_PMBus::marginOffGlobal ( void  )

Margin all rails off.

Returns
void

Definition at line 3088 of file LT_PMBus.cpp.

◆ page()

void LT_PMBus::page ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Set the page.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2768 of file LT_PMBus.cpp.

◆ readCmlStatusByte()

uint8_t LT_PMBus::readCmlStatusByte ( uint8_t  address)

Get the CML status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2342 of file LT_PMBus.cpp.

◆ readDutyCycle()

float LT_PMBus::readDutyCycle ( uint8_t  address,
bool  polling 
)

Get the duty cycle.

Returns
duty cycle
Parameters
addressSlave address
pollingtrue for polling

Definition at line 2102 of file LT_PMBus.cpp.

◆ readExternalTemperature()

float LT_PMBus::readExternalTemperature ( uint8_t  address,
bool  polling 
)

Get the measured external temperature.

Returns
temperature
Parameters
addressSlave address
pollingtrue for polling

Definition at line 2052 of file LT_PMBus.cpp.

◆ readIin()

float LT_PMBus::readIin ( uint8_t  address,
bool  polling 
)

Get the input current.

Returns
current
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1805 of file LT_PMBus.cpp.

◆ readInputStatusByte()

uint8_t LT_PMBus::readInputStatusByte ( uint8_t  address)

Get the input status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2326 of file LT_PMBus.cpp.

◆ readInternalTemperature()

float LT_PMBus::readInternalTemperature ( uint8_t  address,
bool  polling 
)

Get the measured internal temperature.

Returns
temperature
Parameters
addressSlave address
pollingtrue for polling

Definition at line 2077 of file LT_PMBus.cpp.

◆ readIout()

float LT_PMBus::readIout ( uint8_t  address,
bool  polling 
)

Get the measured output current.

Returns
current
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1898 of file LT_PMBus.cpp.

◆ readIoutStatusByte()

uint8_t LT_PMBus::readIoutStatusByte ( uint8_t  address)

Get the output current status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2318 of file LT_PMBus.cpp.

◆ readIoutWithPage()

float LT_PMBus::readIoutWithPage ( uint8_t  address,
uint8_t  page 
)

Get the measured output current.

Returns
current
Parameters
addressSlave address
pagePAGE

Definition at line 1924 of file LT_PMBus.cpp.

◆ readIoutWithPagePlus()

float LT_PMBus::readIoutWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the measured output current.

Returns
current
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1938 of file LT_PMBus.cpp.

◆ readItemp()

float LT_PMBus::readItemp ( uint8_t  address)

Get the internal measured temperature.

Returns
temperature
Parameters
addressSlave address

Definition at line 2127 of file LT_PMBus.cpp.

◆ readMfrFaultLogStatusByte()

uint8_t LT_PMBus::readMfrFaultLogStatusByte ( uint8_t  address)

Get the fault log status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2358 of file LT_PMBus.cpp.

◆ readMfrPads()

uint16_t LT_PMBus::readMfrPads ( uint8_t  address)

Get the state of the pads.

Returns
state
Parameters
addressSlave address

Definition at line 2366 of file LT_PMBus.cpp.

◆ readMfrSpecialId()

uint16_t LT_PMBus::readMfrSpecialId ( uint8_t  address)

Get speical ID.

Parameters
addressAddress

Definition at line 3361 of file LT_PMBus.cpp.

◆ readMfrStatusByte()

uint8_t LT_PMBus::readMfrStatusByte ( uint8_t  address)

Get the MFR status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2350 of file LT_PMBus.cpp.

◆ readModel()

void LT_PMBus::readModel ( uint8_t  address,
uint8_t *  model 
)

Get the model.

Returns
model
Parameters
addressSlave address
modelPlace to store the model string

Definition at line 2409 of file LT_PMBus.cpp.

◆ readOtemp()

float LT_PMBus::readOtemp ( uint8_t  address)

Get the external measured temperature.

Returns
temperature
Parameters
addressSlave address

Definition at line 2175 of file LT_PMBus.cpp.

◆ readOtempWithPage()

float LT_PMBus::readOtempWithPage ( uint8_t  address,
uint8_t  page 
)

Get the external measured temperature.

Returns
temperature
Parameters
addressSlave address
pagePAGE

Definition at line 2150 of file LT_PMBus.cpp.

◆ readOtempWithPagePlus()

float LT_PMBus::readOtempWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the external measured temperature.

Returns
temperature
Parameters
addressSlave address
pagePAGE PLUS PAGE

◆ readPin()

float LT_PMBus::readPin ( uint8_t  address,
bool  polling 
)

Get the measured input power.

Returns
current
Parameters
addressSlave address
pollingtrue for polling

Definition at line 2027 of file LT_PMBus.cpp.

◆ readPmbusRevision()

uint8_t LT_PMBus::readPmbusRevision ( uint8_t  address)

Get the pmbus revision.

Returns
revision
Parameters
addressSlave address

Definition at line 2380 of file LT_PMBus.cpp.

◆ readPout()

float LT_PMBus::readPout ( uint8_t  address,
bool  polling 
)

Get the measured output power.

Returns
current
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1963 of file LT_PMBus.cpp.

◆ readPoutWithPage()

float LT_PMBus::readPoutWithPage ( uint8_t  address,
uint8_t  page 
)

Get the measured output power.

Returns
current
Parameters
addressSlave address
pagePAGE

Definition at line 1988 of file LT_PMBus.cpp.

◆ readPoutWithPagePlus()

float LT_PMBus::readPoutWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the measured output power.

Returns
current
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 2001 of file LT_PMBus.cpp.

◆ readRevision()

void LT_PMBus::readRevision ( uint8_t  address,
uint8_t *  revision 
)

Get the slave revision.

Returns
model
Parameters
addressSlave address
revisionPlace to store the revision

Definition at line 2393 of file LT_PMBus.cpp.

◆ readStatusByte()

uint8_t LT_PMBus::readStatusByte ( uint8_t  address)

Get the status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2423 of file LT_PMBus.cpp.

◆ readStatusByteWithPage()

uint8_t LT_PMBus::readStatusByteWithPage ( uint8_t  address,
uint8_t  page 
)

Get the status byte.

Returns
byte
Parameters
addressSlave address
pagePAGE

Definition at line 2438 of file LT_PMBus.cpp.

◆ readStatusByteWithPagePlus()

uint8_t LT_PMBus::readStatusByteWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the status byte.

Returns
byte
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 2451 of file LT_PMBus.cpp.

◆ readStatusCml()

uint8_t LT_PMBus::readStatusCml ( uint8_t  address)

Get the status CML byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2517 of file LT_PMBus.cpp.

◆ readStatusWord()

uint16_t LT_PMBus::readStatusWord ( uint8_t  address)

Get the status word.

Returns
byte
Parameters
addressSlave address

Definition at line 2470 of file LT_PMBus.cpp.

◆ readStatusWordWithPage()

uint16_t LT_PMBus::readStatusWordWithPage ( uint8_t  address,
uint8_t  page 
)

Get the status word.

Returns
byte
Parameters
addressSlave address
pagePAGE

Definition at line 2485 of file LT_PMBus.cpp.

◆ readStatusWordWithPagePlus()

uint16_t LT_PMBus::readStatusWordWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the status word.

Returns
byte
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 2498 of file LT_PMBus.cpp.

◆ readTemperatureStatusByte()

uint8_t LT_PMBus::readTemperatureStatusByte ( uint8_t  address)

Get the temperature status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2334 of file LT_PMBus.cpp.

◆ readVin()

float LT_PMBus::readVin ( uint8_t  address,
bool  polling 
)

Get the input voltage.

Returns
voltage
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1487 of file LT_PMBus.cpp.

◆ readVout()

float LT_PMBus::readVout ( uint8_t  address,
bool  polling 
)

Get the measured output voltage.

Returns
voltage
Parameters
addressSlave address
pollingtrue for polling

Definition at line 1598 of file LT_PMBus.cpp.

◆ readVoutStatusByte()

uint8_t LT_PMBus::readVoutStatusByte ( uint8_t  address)

Get the output voltage status byte.

Returns
byte
Parameters
addressSlave address

Definition at line 2310 of file LT_PMBus.cpp.

◆ readVoutWithPage()

float LT_PMBus::readVoutWithPage ( uint8_t  address,
uint8_t  page 
)

Get the measured output voltage.

Returns
voltage
Parameters
addressSlave address
pagePAGE

Definition at line 1678 of file LT_PMBus.cpp.

◆ readVoutWithPagePlus()

float LT_PMBus::readVoutWithPagePlus ( uint8_t  address,
uint8_t  page 
)

Get the measured output voltage.

Returns
voltage
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 1692 of file LT_PMBus.cpp.

◆ reset()

void LT_PMBus::reset ( uint8_t  address)

Issue reset to one device.

Returns
void

Definition at line 2912 of file LT_PMBus.cpp.

◆ resetGlobal()

void LT_PMBus::resetGlobal ( void  )

Issue reset to all devices.

Returns
void

Definition at line 2906 of file LT_PMBus.cpp.

◆ restoreFromNvm()

void LT_PMBus::restoreFromNvm ( uint8_t  address)

Restore device from NVM.

Returns
void
Parameters
addressSlave address

Definition at line 2663 of file LT_PMBus.cpp.

◆ restoreFromNvmAll()

void LT_PMBus::restoreFromNvmAll ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Restore list of devices from NVM.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2673 of file LT_PMBus.cpp.

◆ restoreFromNvmGlobal()

void LT_PMBus::restoreFromNvmGlobal ( void  )

Restore all devices from NVM.

Returns
void

Definition at line 2683 of file LT_PMBus.cpp.

◆ sequenceOff()

void LT_PMBus::sequenceOff ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Sequence off a list of addresses.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2850 of file LT_PMBus.cpp.

◆ sequenceOffGlobal()

void LT_PMBus::sequenceOffGlobal ( void  )

Sequence off all rails.

Returns
void

Definition at line 2876 of file LT_PMBus.cpp.

◆ sequenceOn()

void LT_PMBus::sequenceOn ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Sequence on a list of devices.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2794 of file LT_PMBus.cpp.

◆ sequenceOnGlobal()

void LT_PMBus::sequenceOnGlobal ( void  )

Sequence on all rails.

Returns
void

Definition at line 2896 of file LT_PMBus.cpp.

◆ setCmlStatusMask()

void LT_PMBus::setCmlStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the CML status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2222 of file LT_PMBus.cpp.

◆ setIinOcWarnLimit()

void LT_PMBus::setIinOcWarnLimit ( uint8_t  address,
float  current 
)

Set the input over current warning limit.

Returns
void
Parameters
addressSlave address
currentDCurrent

Definition at line 1124 of file LT_PMBus.cpp.

◆ setInputStatusMask()

void LT_PMBus::setInputStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the input status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2206 of file LT_PMBus.cpp.

◆ setIoutOcFaultLimit()

void LT_PMBus::setIoutOcFaultLimit ( uint8_t  address,
float  current 
)

Set the over current fault limit.

Returns
void
Parameters
addressSlave address
currentCurrent

Definition at line 934 of file LT_PMBus.cpp.

◆ setIoutOcFaultLimitWithPage()

void LT_PMBus::setIoutOcFaultLimitWithPage ( uint8_t  address,
float  current,
uint8_t  page 
)

Set the over current fault limit.

Returns
void
Parameters
addressSlave address
pagePAGE

Definition at line 954 of file LT_PMBus.cpp.

◆ setIoutOcFaultLimitWithPagePlus()

void LT_PMBus::setIoutOcFaultLimitWithPagePlus ( uint8_t  address,
float  current,
uint8_t  page 
)

Set the over current fault limit.

Returns
void
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 967 of file LT_PMBus.cpp.

◆ setIoutOcWarnLimit()

void LT_PMBus::setIoutOcWarnLimit ( uint8_t  address,
float  current 
)

Set the over current warning limit.

Returns
void
Parameters
addressSlave address
currentCurrent

Definition at line 991 of file LT_PMBus.cpp.

◆ setIoutOcWarnLimitWithPage()

void LT_PMBus::setIoutOcWarnLimitWithPage ( uint8_t  address,
float  current,
uint8_t  page 
)

Set the over current warning limit.

Returns
void
Parameters
addressSlave address
currentCurrent
pagePAGE

Definition at line 1011 of file LT_PMBus.cpp.

◆ setIoutOcWarnLimitWithPagePlus()

void LT_PMBus::setIoutOcWarnLimitWithPagePlus ( uint8_t  address,
float  current,
uint8_t  page 
)

Set the over current warning limit.

Returns
void
Parameters
addressSlave address
currentCurrent
pagePAGE PLUS PAGE

Definition at line 1024 of file LT_PMBus.cpp.

◆ setIoutStatusMask()

void LT_PMBus::setIoutStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the output current status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2198 of file LT_PMBus.cpp.

◆ setMfrStatusMask()

void LT_PMBus::setMfrStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the MFR status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2230 of file LT_PMBus.cpp.

◆ setMfrWatchdog()

void LT_PMBus::setMfrWatchdog ( uint8_t  address,
float  delay 
)

Set watchdog timer.

Returns
void
Parameters
addressSlave address
delayNormal delay

Definition at line 2645 of file LT_PMBus.cpp.

◆ setMfrWatchdogFirst()

void LT_PMBus::setMfrWatchdogFirst ( uint8_t  address,
float  delay 
)

Set the first watchdog timer.

Returns
void
Parameters
addressSlave address
delayFirst delay

Definition at line 2626 of file LT_PMBus.cpp.

◆ setOtFaultLimit()

void LT_PMBus::setOtFaultLimit ( uint8_t  address,
float  temperature 
)

Set the over temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature

Definition at line 1143 of file LT_PMBus.cpp.

◆ setOtFaultLimitWithPage()

void LT_PMBus::setOtFaultLimitWithPage ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the over temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE

Definition at line 1181 of file LT_PMBus.cpp.

◆ setOtFaultLimitWithPagePlus()

void LT_PMBus::setOtFaultLimitWithPagePlus ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the over temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE PLUS PAGE

Definition at line 1193 of file LT_PMBus.cpp.

◆ setOtWarnLimit()

void LT_PMBus::setOtWarnLimit ( uint8_t  address,
float  temperature 
)

Set the over temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature

Definition at line 1163 of file LT_PMBus.cpp.

◆ setOtWarnLimitWithPage()

void LT_PMBus::setOtWarnLimitWithPage ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the over temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE

Definition at line 1239 of file LT_PMBus.cpp.

◆ setOtWarnLimitWithPagePlus()

void LT_PMBus::setOtWarnLimitWithPagePlus ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the over temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE PLUS PAGE

Definition at line 1251 of file LT_PMBus.cpp.

◆ setPage()

void LT_PMBus::setPage ( uint8_t  address,
uint8_t  page 
)

Set the page.

Returns
void
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 3156 of file LT_PMBus.cpp.

◆ setPageWithPolling()

void LT_PMBus::setPageWithPolling ( uint8_t  address,
uint8_t  page 
)

Set the page and poll the busy bit.

Returns
void
Parameters
addressSlave address
pagePAGE PLUS PAGE

Definition at line 3144 of file LT_PMBus.cpp.

◆ setRailAddress()

void LT_PMBus::setRailAddress ( uint8_t  address,
uint8_t  rail_address 
)

Set rail address of a Controller.

Returns
void
Parameters
addressSlave address
rail_addressRail Address

Definition at line 3126 of file LT_PMBus.cpp.

◆ setSpareData0()

void LT_PMBus::setSpareData0 ( uint8_t  address,
uint16_t  data 
)

Set spare data 0.

Returns
void
Parameters
addressSlave address
dataSpare data

Definition at line 3114 of file LT_PMBus.cpp.

◆ setTemp1Gain()

void LT_PMBus::setTemp1Gain ( uint8_t  address,
uint16_t  gain 
)

Set the temperature 1 gain.

Returns
void
Parameters
addressSlave address
gaingain

Definition at line 1369 of file LT_PMBus.cpp.

◆ setTemp1Offset()

void LT_PMBus::setTemp1Offset ( uint8_t  address,
float  offset 
)

Set the temperature 1 offset.

Returns
void
Parameters
addressSlave address
offsetOffset

Definition at line 1394 of file LT_PMBus.cpp.

◆ setTemperatureStatusMask()

void LT_PMBus::setTemperatureStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the temperature status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2214 of file LT_PMBus.cpp.

◆ setToffDelay()

void LT_PMBus::setToffDelay ( uint8_t  address,
float  delay 
)

Set the delay before the rail turns off.

Returns
void
Parameters
addressSlave address
delayMax time

Definition at line 517 of file LT_PMBus.cpp.

◆ setToffFall()

void LT_PMBus::setToffFall ( uint8_t  address,
float  fall 
)

Set the turn off fall time.

Returns
void
Parameters
addressSlave address
fallFall time

Definition at line 536 of file LT_PMBus.cpp.

◆ setToffMaxWarnLimit()

void LT_PMBus::setToffMaxWarnLimit ( uint8_t  address,
float  max 
)

Set the maximum time allow to turn off.

Returns
void
Parameters
addressSlave address
maxMax time

Definition at line 555 of file LT_PMBus.cpp.

◆ setTonDelay()

void LT_PMBus::setTonDelay ( uint8_t  address,
float  delay 
)

Set delay before rail turns on.

Returns
void
Parameters
addressSlave address
delayDelay time

Definition at line 460 of file LT_PMBus.cpp.

◆ setTonMaxFaultLimit()

void LT_PMBus::setTonMaxFaultLimit ( uint8_t  address,
float  max 
)

Set the maximum time allow for turn on.

Returns
void
Parameters
addressSlave address
maxMax time

Definition at line 498 of file LT_PMBus.cpp.

◆ setTonRise()

void LT_PMBus::setTonRise ( uint8_t  address,
float  rise 
)

Set the turn on rise time.

Returns
void
Parameters
addressSlave address
riseRise time

Definition at line 479 of file LT_PMBus.cpp.

◆ setUserData03()

void LT_PMBus::setUserData03 ( uint8_t  address,
uint16_t  data 
)

Set user data 3.

Returns
void
Parameters
addressSlave address
dataUser data

Definition at line 3094 of file LT_PMBus.cpp.

◆ setUserData04()

void LT_PMBus::setUserData04 ( uint8_t  address,
uint16_t  data 
)

Set user data 4.

Returns
void
Parameters
addressSlave address
dataUser data

Definition at line 3104 of file LT_PMBus.cpp.

◆ setUtFaultLimit()

void LT_PMBus::setUtFaultLimit ( uint8_t  address,
float  temperature 
)

Set the under temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature

Definition at line 1220 of file LT_PMBus.cpp.

◆ setUtFaultLimitWithPage()

void LT_PMBus::setUtFaultLimitWithPage ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the under temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE

Definition at line 1295 of file LT_PMBus.cpp.

◆ setUtFaultLimitWithPagePlus()

void LT_PMBus::setUtFaultLimitWithPagePlus ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the under temperature fault limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE PLUS PAGE

Definition at line 1307 of file LT_PMBus.cpp.

◆ setUtWarnLimit()

void LT_PMBus::setUtWarnLimit ( uint8_t  address,
float  temperature 
)

Set the under temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature

Definition at line 1276 of file LT_PMBus.cpp.

◆ setUtWarnLimitWithPage()

void LT_PMBus::setUtWarnLimitWithPage ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the under temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE

Definition at line 1332 of file LT_PMBus.cpp.

◆ setUtWarnLimitWithPagePlus()

void LT_PMBus::setUtWarnLimitWithPagePlus ( uint8_t  address,
float  temperature,
uint8_t  page 
)

Set the under temperature warning limit.

Returns
void
Parameters
addressSlave address
temperatureTemperature
pagePAGE PLUS PAGE

Definition at line 1344 of file LT_PMBus.cpp.

◆ setVinOvFaultLimit()

void LT_PMBus::setVinOvFaultLimit ( uint8_t  address,
float  voltage 
)

Set the input over voltage fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 1048 of file LT_PMBus.cpp.

◆ setVinOvWarningLimit()

void LT_PMBus::setVinOvWarningLimit ( uint8_t  address,
float  voltage 
)

Set the input over voltage warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 1067 of file LT_PMBus.cpp.

◆ setVinOvWarnLimit()

void LT_PMBus::setVinOvWarnLimit ( uint8_t  address,
float  voltage 
)

Set the input over voltage warnign limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

◆ setVinUvFaultLimit()

void LT_PMBus::setVinUvFaultLimit ( uint8_t  address,
float  voltage 
)

Set the input under voltage fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 1086 of file LT_PMBus.cpp.

◆ setVinUvWarnLimit()

void LT_PMBus::setVinUvWarnLimit ( uint8_t  address,
float  voltage 
)

Set the input under voltage warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 1105 of file LT_PMBus.cpp.

◆ setVout()

void LT_PMBus::setVout ( uint8_t  address,
float  voltage 
)

Set output voltage.

Returns
void
Parameters
addressSlave address

Definition at line 239 of file LT_PMBus.cpp.

◆ setVoutMarginHigh()

void LT_PMBus::setVoutMarginHigh ( uint8_t  address,
float  voltage 
)

Set the margin high.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 694 of file LT_PMBus.cpp.

◆ setVoutMarginHighWithPage()

void LT_PMBus::setVoutMarginHighWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the margin high.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 715 of file LT_PMBus.cpp.

◆ setVoutMarginHighWithPagePlus()

void LT_PMBus::setVoutMarginHighWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the margin high.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 728 of file LT_PMBus.cpp.

◆ setVoutMarginLow()

void LT_PMBus::setVoutMarginLow ( uint8_t  address,
float  voltage 
)

Set the margin low.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 754 of file LT_PMBus.cpp.

◆ setVoutMarginLowWithPage()

void LT_PMBus::setVoutMarginLowWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the margin low.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 775 of file LT_PMBus.cpp.

◆ setVoutMarginLowWithPagePlus()

void LT_PMBus::setVoutMarginLowWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the margin low.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 788 of file LT_PMBus.cpp.

◆ setVoutMax()

void LT_PMBus::setVoutMax ( uint8_t  address,
float  voltage 
)

Set the maximum output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 398 of file LT_PMBus.cpp.

◆ setVoutMaxWithPage()

void LT_PMBus::setVoutMaxWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the maximum output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 420 of file LT_PMBus.cpp.

◆ setVoutMaxWithPagePlus()

void LT_PMBus::setVoutMaxWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the maximum output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 433 of file LT_PMBus.cpp.

◆ setVoutMin()

void LT_PMBus::setVoutMin ( uint8_t  address,
float  voltage 
)

Set the minimum output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage

◆ setVoutMinWithPage()

void LT_PMBus::setVoutMinWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the minimum output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

◆ setVoutMinWithPagePlus()

void LT_PMBus::setVoutMinWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the minimum output voltage.

Returns
void PAGE PLUS PAGE
Parameters
addressSlave address
voltageVoltage

◆ setVoutOvFaultLimit()

void LT_PMBus::setVoutOvFaultLimit ( uint8_t  address,
float  voltage 
)

Set the over voltage supervisor fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 574 of file LT_PMBus.cpp.

◆ setVoutOvFaultLimitWithPage()

void LT_PMBus::setVoutOvFaultLimitWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the over voltage supervisor fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 595 of file LT_PMBus.cpp.

◆ setVoutOvFaultLimitWithPagePlus()

void LT_PMBus::setVoutOvFaultLimitWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the over voltage supervisor fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 608 of file LT_PMBus.cpp.

◆ setVoutOvWarnLimit()

void LT_PMBus::setVoutOvWarnLimit ( uint8_t  address,
float  voltage 
)

Set the over voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 634 of file LT_PMBus.cpp.

◆ setVoutOvWarnLimitWithPage()

void LT_PMBus::setVoutOvWarnLimitWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the over voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 655 of file LT_PMBus.cpp.

◆ setVoutOvWarnLimitWithPagePlus()

void LT_PMBus::setVoutOvWarnLimitWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the over voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 668 of file LT_PMBus.cpp.

◆ setVoutStatusMask()

void LT_PMBus::setVoutStatusMask ( uint8_t  address,
uint8_t  mask 
)

Get the output voltage status mask.

Returns
mask
Parameters
addressSlave address
maskThe status mask

Definition at line 2190 of file LT_PMBus.cpp.

◆ setVoutUvFaultLimit()

void LT_PMBus::setVoutUvFaultLimit ( uint8_t  address,
float  voltage 
)

Set the under voltage fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 874 of file LT_PMBus.cpp.

◆ setVoutUvFaultLimitWithPage()

void LT_PMBus::setVoutUvFaultLimitWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the under voltage fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 895 of file LT_PMBus.cpp.

◆ setVoutUvFaultLimitWithPagePlus()

void LT_PMBus::setVoutUvFaultLimitWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the under voltage fault limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 908 of file LT_PMBus.cpp.

◆ setVoutUvWarnLimit()

void LT_PMBus::setVoutUvWarnLimit ( uint8_t  address,
float  voltage 
)

Set the under voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage

Definition at line 814 of file LT_PMBus.cpp.

◆ setVoutUvWarnLimitWithPage()

void LT_PMBus::setVoutUvWarnLimitWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the under voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 835 of file LT_PMBus.cpp.

◆ setVoutUvWarnLimitWithPagePlus()

void LT_PMBus::setVoutUvWarnLimitWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set the under voltage supervisor warning limit.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 848 of file LT_PMBus.cpp.

◆ setVoutWithPage()

void LT_PMBus::setVoutWithPage ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE

Definition at line 260 of file LT_PMBus.cpp.

◆ setVoutWithPagePlus()

void LT_PMBus::setVoutWithPagePlus ( uint8_t  address,
float  voltage,
uint8_t  page 
)

Set output voltage.

Returns
void
Parameters
addressSlave address
voltageVoltage
pagePAGE PLUS PAGE

Definition at line 273 of file LT_PMBus.cpp.

◆ setVoutWithSupervision()

void LT_PMBus::setVoutWithSupervision ( uint8_t  address,
float  voltage,
float  margin_percent,
float  warn_percent,
float  fault_percent 
)

Set output voltage and supervisors.

Returns
void
Parameters
addressSlave address
voltageVoltage
margin_percentAmount to margin
warn_percentAmount of warning limit
fault_percentAmount of fault limit

Definition at line 304 of file LT_PMBus.cpp.

◆ setVoutWithSupervisionWithPage()

void LT_PMBus::setVoutWithSupervisionWithPage ( uint8_t  address,
float  voltage,
float  margin_percent,
float  warn_percent,
float  fault_percent,
uint8_t  page 
)

Set output voltage and supervisors.

Returns
void
Parameters
addressSlave address
voltageVoltage
margin_percentAmount to margin
warn_percentAmount of warning limit
fault_percentAmount of fault limit
pagePAGE

Definition at line 344 of file LT_PMBus.cpp.

◆ setVoutWithSupervisionWithPagePlus()

void LT_PMBus::setVoutWithSupervisionWithPagePlus ( uint8_t  address,
float  voltage,
float  margin_percent,
float  warn_percent,
float  fault_percent,
uint8_t  page 
)

Set output voltage and supervisors.

Returns
void
Parameters
addressSlave address
voltageVoltage
margin_percentAmount to margin
warn_percentAmount of warning limit
fault_percentAmount of fault limit
pagePAGE PLUS PAGE

Definition at line 363 of file LT_PMBus.cpp.

◆ smbus() [1/2]

LT_SMBus* LT_PMBus::smbus ( )

Definition at line 401 of file LT_PMBus.h.

◆ smbus() [2/2]

void LT_PMBus::smbus ( LT_SMBus smbus)

Definition at line 406 of file LT_PMBus.h.

◆ startGroupProtocol()

void LT_PMBus::startGroupProtocol ( void  )

starts group protocol

Definition at line 3350 of file LT_PMBus.cpp.

◆ storeToNvm()

void LT_PMBus::storeToNvm ( uint8_t  address)

Store RAM to NVM.

Returns
void
Parameters
addressSlave address

Definition at line 2688 of file LT_PMBus.cpp.

◆ storeToNvmAll()

void LT_PMBus::storeToNvmAll ( uint8_t *  addresses,
uint8_t  no_addresses 
)

Store RAM to NVM for list of devices.

Returns
void
Parameters
addressesSlave addresses
no_addressesNumber of slave addresses

Definition at line 2693 of file LT_PMBus.cpp.

◆ storeToNvmGlobal()

void LT_PMBus::storeToNvmGlobal ( void  )

Store RAM to NVM for all devices.

Returns
void

Definition at line 2700 of file LT_PMBus.cpp.

◆ unlockNVM()

bool LT_PMBus::unlockNVM ( uint8_t  address)

Unlock NVM.

Parameters
addressSlave address

Definition at line 2705 of file LT_PMBus.cpp.

◆ waitForNotBusy()

uint8_t LT_PMBus::waitForNotBusy ( uint8_t  address)

Read MFR_COMMON until not Busy.

Returns
success or failure
Parameters
addressSlave Address

Definition at line 3254 of file LT_PMBus.cpp.

◆ waitForNvmDone()

uint8_t LT_PMBus::waitForNvmDone ( uint8_t  address)

Read MFR_EEPROM_STATUS until done (LTC388X only)

Returns
success or failure
Parameters
addressSlave Address

Definition at line 3278 of file LT_PMBus.cpp.

Constructor & Destructor Documentation

◆ LT_PMBus()

LT_PMBus::LT_PMBus ( LT_SMBus smbus)

Construct a LT_PMBus.

Parameters
smbusSMBus for communication. Use the PEC or non-PEC version.

Definition at line 86 of file LT_PMBus.cpp.

◆ ~LT_PMBus()

LT_PMBus::~LT_PMBus ( )

Definition at line 91 of file LT_PMBus.cpp.


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