| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Data Structures | Public Member Functions
LT_SMBusGroup Class Reference

## Detailed Description

Definition at line 60 of file LT_SMBusGroup.h.

Inheritance diagram for LT_SMBusGroup:

## Public Member Functions
| LT_SMBusGroup (LT_SMBus *)
| LT_SMBusGroup (LT_SMBus *, uint32_t speed)
virtual | ~LT_SMBusGroup ()
void | writeByte (uint8_t address, uint8_t command, uint8_t data)
| SMBus write byte command. More...
void | writeBytes (uint8_t *addresses, uint8_t *commands, uint8_t *data, uint8_t no_addresses)
| SMBus write byte command for a list of addresses. More...
uint8_t | readByte (uint8_t address, uint8_t command)
| SMBus read byte command. More...
void | writeWord (uint8_t address, uint8_t command, uint16_t data)
| SMBus write word command. More...
uint16_t | readWord (uint8_t address, uint8_t command)
| SMBus read word command. More...
void | writeBlock (uint8_t address, uint8_t command, uint8_t *block, uint16_t block_size)
| SMBus write block command. More...
uint8_t | writeReadBlock (uint8_t address, uint8_t command, uint8_t *block_out, uint16_t block_out_size, uint8_t *block_in, uint16_t block_in_size)
| SMBus write then read block command. More...
uint8_t | readBlock (uint8_t address, uint8_t command, uint8_t *block, uint16_t block_size)
| SMBus read block command. More...
void | sendByte (uint8_t address, uint8_t command)
| SMBus send byte command. More...
void | beginStoring ()
| Group Protocol Begin. More...
void | execute ()
| Group Protocol Execute queued commands. More...
Public Member Functions inherited from LT_SMBusBase
LT_I2CBus * | i2cbus (void)
void | i2cbus (LT_I2CBus *i2cbus)
uint8_t | readAlert (void)
| Perform ARA. More...
uint8_t | waitForAck (uint8_t address, uint8_t command)
| Read with the address and command in loop until ack, then issue stop. More...
uint8_t * | probe (uint8_t command)
| SMBus bus probe. More...
uint8_t * | probeUnique (uint8_t command)
| SMBus bus probe. More...
Public Member Functions inherited from LT_SMBus
virtual | ~LT_SMBus ()
bool | pecEnabled (void)
| Check if PEC is enabled. More...
void | pecClear (void)
| Clear the pec value so it can start a new calculation. More...
void | pecAdd (uint8_t byte_value)
| Add a byte to the pec calculation. More...
uint8_t | pecGet (void)
| Get the current pec result. More...
bool | checkCRC (uint8_t *data)
| Check CRC of block data organized as 31 data bytes plus CRC. More...
uint8_t | getCRC (uint8_t *data)
| Get CRC of block data organized as 31 bytes pluse CRC. More...
uint8_t | calculate (uint8_t *data, uint8_t begining_value, uint8_t start_index, uint8_t length)
| Helper function for pec. More...

## Additional Inherited Members
Protected Member Functions inherited from LT_SMBusBase
| LT_SMBusBase ()
| LT_SMBusBase (uint32_t speed)
virtual | ~LT_SMBusBase ()
Protected Member Functions inherited from LT_SMBus
void | constructTable (uint16_t user_polynomial)
| Initialize the table used to speed up pec calculations. More...
uint8_t | doCalculate (uint8_t data, uint8_t begining_value)
| Helper function for pec. More...
| LT_SMBus ()
Protected Attributes inherited from LT_SMBusBase
LT_I2CBus * | i2cbus_
Protected Attributes inherited from LT_SMBus
bool | pec_enabled_
uint8_t | running_pec_
| Temporary pec calc value. More...
unsigned char | poly_
| The poly used in the calc. More...
uint16_t | crc_polynomial_
| The crc poly used in the calc. More...
Static Protected Attributes inherited from LT_SMBusBase
static bool | open_ = false
| Used to ensure initialisation of i2c once. More...
static uint8_t | found_address_ []

## Member Function Documentation

## ◆ beginStoring()

void LT_SMBusGroup::beginStoring | ( |  | ) |

Group Protocol Begin.

Returns
  void

Definition at line 151 of file LT_SMBusGroup.cpp.

## ◆ execute()

void LT_SMBusGroup::execute | ( |  | ) |

Group Protocol Execute queued commands.

Returns
  void

Definition at line 175 of file LT_SMBusGroup.cpp.

## ◆ readBlock()

uint8_t LT_SMBusGroup::readBlock | ( | uint8_t | address,
|  | uint8_t | command,
|  | uint8_t * | block,
|  | uint16_t | block_size
| ) |  |
| virtual

SMBus read block command.

Returns
  actual size

Parameters

  address | Slave Address
  command | Command byte
  block | Memory to receive data
  block_size | Size of receive data memory

Reimplemented from LT_SMBusBase.

Definition at line 133 of file LT_SMBusGroup.cpp.

## ◆ readByte()

uint8_t LT_SMBusGroup::readByte | ( | uint8_t | address,
|  | uint8_t | command
| ) |  |
| virtual

SMBus read byte command.

Returns
  byte

Parameters

  address | Slave Address
  command | Command byte

Reimplemented from LT_SMBusBase.

Definition at line 91 of file LT_SMBusGroup.cpp.

## ◆ readWord()

uint16_t LT_SMBusGroup::readWord | ( | uint8_t | address,
|  | uint8_t | command
| ) |  |
| virtual

SMBus read word command.

Returns
  word

Parameters

  address | Slave Address
  command | Command byte

Reimplemented from LT_SMBusBase.

Definition at line 107 of file LT_SMBusGroup.cpp.

## ◆ sendByte()

void LT_SMBusGroup::sendByte | ( | uint8_t | address,
|  | uint8_t | command
| ) |  |
| virtual

SMBus send byte command.

Returns
  void

Parameters

  address | Slave Address
  command | Command byte

Reimplemented from LT_SMBusBase.

Definition at line 142 of file LT_SMBusGroup.cpp.

## ◆ writeBlock()

void LT_SMBusGroup::writeBlock | ( | uint8_t | address,
|  | uint8_t | command,
|  | uint8_t * | block,
|  | uint16_t | block_size
| ) |  |
| virtual

SMBus write block command.

Returns
  void

Parameters

  address | Slave Address
  command | Command byte
  block | Data to send

Reimplemented from LT_SMBusBase.

Definition at line 115 of file LT_SMBusGroup.cpp.

## ◆ writeByte()

void LT_SMBusGroup::writeByte | ( | uint8_t | address,
|  | uint8_t | command,
|  | uint8_t | data
| ) |  |
| virtual

SMBus write byte command.

Returns
  void

Parameters

  address | Slave address
  command | Command byte
  data | Data to send

Reimplemented from LT_SMBusBase.

Definition at line 75 of file LT_SMBusGroup.cpp.

## ◆ writeBytes()

void LT_SMBusGroup::writeBytes | ( | uint8_t * | addresses,
|  | uint8_t * | commands,
|  | uint8_t * | data,
|  | uint8_t | no_addresses
| ) |  |
| virtual

SMBus write byte command for a list of addresses.

Returns
  void

Parameters

  addresses | Slave Addresses
  commands | Command bytes
  data | Data to send

Reimplemented from LT_SMBusBase.

Definition at line 83 of file LT_SMBusGroup.cpp.

## ◆ writeReadBlock()

uint8_t LT_SMBusGroup::writeReadBlock | ( | uint8_t | address,
|  | uint8_t | command,
|  | uint8_t * | block_out,
|  | uint16_t | block_out_size,
|  | uint8_t * | block_in,
|  | uint16_t | block_in_size
| ) |  |
| virtual

SMBus write then read block command.

Returns
  actual size

Parameters

  address | Slave Address
  command | Command byte
  block_out | Data to send
  block_out_size | Size of data to send
  block_in | Memory to receive data
  block_in_size | Size of receive data memory

Reimplemented from LT_SMBusBase.

Definition at line 124 of file LT_SMBusGroup.cpp.

## ◆ writeWord()

void LT_SMBusGroup::writeWord | ( | uint8_t | address,
|  | uint8_t | command,
|  | uint16_t | data
| ) |  |
| virtual

SMBus write word command.

Returns
  void

Parameters

  address | Slave Address
  command | Command byte
  data | Data to send

Reimplemented from LT_SMBusBase.

Definition at line 99 of file LT_SMBusGroup.cpp.

## Constructor & Destructor Documentation

## ◆ LT_SMBusGroup() [1/2]

LT_SMBusGroup::LT_SMBusGroup | ( | LT_SMBus * | smbus | ) |

Definition at line 59 of file LT_SMBusGroup.cpp.

## ◆ LT_SMBusGroup() [2/2]

LT_SMBusGroup::LT_SMBusGroup | ( | LT_SMBus * | smbus,
|  | uint32_t | speed
| ) |  |

Definition at line 67 of file LT_SMBusGroup.cpp.

## ◆ ~LT_SMBusGroup()

virtual LT_SMBusGroup::~LT_SMBusGroup | ( |  | ) |
| virtual

Definition at line 151 of file LT_SMBusGroup.h.

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

- LT_SMBusGroup.h
- LT_SMBusGroup.cpp