![]() |
Linduino
1.3.0
Linear Technology Arduino-Compatible Demonstration Board
|
Definition at line 60 of file LT_SMBusGroup.h.
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... | |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
LT_SMBusBase () | |
LT_SMBusBase (uint32_t speed) | |
virtual | ~LT_SMBusBase () |
![]() | |
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 () | |
![]() | |
LT_I2CBus * | i2cbus_ |
![]() | |
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 bool | open_ = false |
Used to ensure initialisation of i2c once. More... | |
static uint8_t | found_address_ [] |
void LT_SMBusGroup::beginStoring | ( | ) |
void LT_SMBusGroup::execute | ( | ) |
Group Protocol Execute queued commands.
Definition at line 175 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus read block command.
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.
|
virtual |
SMBus read byte command.
address | Slave Address |
command | Command byte |
Reimplemented from LT_SMBusBase.
Definition at line 91 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus read word command.
address | Slave Address |
command | Command byte |
Reimplemented from LT_SMBusBase.
Definition at line 107 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus send byte command.
address | Slave Address |
command | Command byte |
Reimplemented from LT_SMBusBase.
Definition at line 142 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus write block command.
address | Slave Address |
command | Command byte |
block | Data to send |
Reimplemented from LT_SMBusBase.
Definition at line 115 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus write byte command.
address | Slave address |
command | Command byte |
data | Data to send |
Reimplemented from LT_SMBusBase.
Definition at line 75 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus write byte command for a list of addresses.
addresses | Slave Addresses |
commands | Command bytes |
data | Data to send |
Reimplemented from LT_SMBusBase.
Definition at line 83 of file LT_SMBusGroup.cpp.
|
virtual |
SMBus write then read block command.
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.
|
virtual |
SMBus write word command.
address | Slave Address |
command | Command byte |
data | Data to send |
Reimplemented from LT_SMBusBase.
Definition at line 99 of file LT_SMBusGroup.cpp.
LT_SMBusGroup::LT_SMBusGroup | ( | LT_SMBus * | smbus | ) |
Definition at line 59 of file LT_SMBusGroup.cpp.
LT_SMBusGroup::LT_SMBusGroup | ( | LT_SMBus * | smbus, |
uint32_t | speed | ||
) |
Definition at line 67 of file LT_SMBusGroup.cpp.
|
virtual |
Definition at line 151 of file LT_SMBusGroup.h.