arduino-emulator
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
arduino::I2CWrapper Class Reference

I2C wrapper class that provides flexible hardware abstraction. More...

#include <I2CWrapper.h>

Inheritance diagram for arduino::I2CWrapper:
arduino::HardwareI2C arduino::Stream arduino::Print

Public Member Functions

 I2CWrapper (HardwareI2C &i2c)
 
 I2CWrapper (I2CSource &source)
 
int available ()
 
void begin ()
 
void begin (uint8_t address)
 
void beginTransmission (uint8_t address)
 
void end ()
 
uint8_t endTransmission (bool stopBit)
 
uint8_t endTransmission (void)
 
void onReceive (void(*)(int))
 
void onRequest (void(*)(void))
 
int peek ()
 
int read ()
 
size_t requestFrom (uint8_t address, size_t len)
 
size_t requestFrom (uint8_t address, size_t len, bool stopBit)
 
void setClock (uint32_t freq)
 
void setI2C (HardwareI2C *i2c)
 defines the i2c implementation: use nullptr to reset.
 
void setSource (I2CSource *source)
 alternatively defines a class that provides the I2C implementation
 
size_t write (uint8_t)
 
- Public Member Functions inherited from arduino::Stream
bool find (char target)
 
bool find (const char *target)
 
bool find (const char *target, size_t length)
 
bool find (const uint8_t *target)
 
bool find (const uint8_t *target, size_t length)
 
bool findUntil (const char *target, const char *terminator)
 
bool findUntil (const char *target, size_t targetLen, const char *terminate, size_t termLen)
 
bool findUntil (const uint8_t *target, const char *terminator)
 
bool findUntil (const uint8_t *target, size_t targetLen, const char *terminate, size_t termLen)
 
unsigned long getTimeout (void)
 
float parseFloat (LookaheadMode lookahead=SKIP_ALL, char ignore=NO_IGNORE_CHAR)
 
long parseInt (LookaheadMode lookahead=SKIP_ALL, char ignore=NO_IGNORE_CHAR)
 
size_t readBytes (char *buffer, size_t length)
 
size_t readBytes (uint8_t *buffer, size_t length)
 
size_t readBytesUntil (char terminator, char *buffer, size_t length)
 
size_t readBytesUntil (char terminator, uint8_t *buffer, size_t length)
 
String readString ()
 
String readStringUntil (char terminator)
 
void setTimeout (unsigned long timeout)
 
- Public Member Functions inherited from arduino::Print
virtual int availableForWrite ()
 
void clearWriteError ()
 
virtual void flush ()
 
int getWriteError ()
 
size_t print (char)
 
size_t print (const __FlashStringHelper *)
 
size_t print (const char[])
 
size_t print (const Printable &)
 
size_t print (const String &)
 
size_t print (double, int=2)
 
size_t print (int, int=DEC)
 
size_t print (long long, int=DEC)
 
size_t print (long, int=DEC)
 
size_t print (unsigned char, int=DEC)
 
size_t print (unsigned int, int=DEC)
 
size_t print (unsigned long long, int=DEC)
 
size_t print (unsigned long, int=DEC)
 
size_t println (char)
 
size_t println (const __FlashStringHelper *)
 
size_t println (const char[])
 
size_t println (const Printable &)
 
size_t println (const String &s)
 
size_t println (double, int=2)
 
size_t println (int, int=DEC)
 
size_t println (long long, int=DEC)
 
size_t println (long, int=DEC)
 
size_t println (unsigned char, int=DEC)
 
size_t println (unsigned int, int=DEC)
 
size_t println (unsigned long long, int=DEC)
 
size_t println (unsigned long, int=DEC)
 
size_t println (void)
 
size_t write (const char *buffer, size_t size)
 
size_t write (const char *str)
 
virtual size_t write (const uint8_t *buffer, size_t size)
 

Protected Member Functions

HardwareI2CgetI2C ()
 
- Protected Member Functions inherited from arduino::Stream
int findMulti (struct MultiTarget *targets, int tCount)
 
float parseFloat (char ignore)
 
long parseInt (char ignore)
 
int peekNextDigit (LookaheadMode lookahead, bool detectDecimal)
 
int timedPeek ()
 
int timedRead ()
 
- Protected Member Functions inherited from arduino::Print
void setWriteError (int err=1)
 

Protected Attributes

HardwareI2Cp_i2c = nullptr
 
I2CSourcep_source = nullptr
 
- Protected Attributes inherited from arduino::Stream
unsigned long _startMillis
 
unsigned long _timeout
 

Detailed Description

I2C wrapper class that provides flexible hardware abstraction.

I2CWrapper is a concrete implementation of the HardwareI2C interface that supports multiple delegation patterns for I2C communication. It can delegate operations to:

This class implements the complete I2C interface including:

The wrapper automatically handles null safety and provides appropriate default return values when no underlying I2C implementation is available.

A global Wire instance is automatically provided for Arduino compatibility.

See also
HardwareI2C
I2CSource

Member Function Documentation

◆ available()

int arduino::I2CWrapper::available ( void  )
virtual

Implements arduino::Stream.

◆ begin() [1/2]

void arduino::I2CWrapper::begin ( )
virtual

Implements arduino::HardwareI2C.

◆ begin() [2/2]

void arduino::I2CWrapper::begin ( uint8_t  address)
virtual

Implements arduino::HardwareI2C.

◆ beginTransmission()

void arduino::I2CWrapper::beginTransmission ( uint8_t  address)
virtual

Implements arduino::HardwareI2C.

◆ end()

void arduino::I2CWrapper::end ( )
virtual

Implements arduino::HardwareI2C.

◆ endTransmission() [1/2]

uint8_t arduino::I2CWrapper::endTransmission ( bool  stopBit)
virtual

Implements arduino::HardwareI2C.

◆ endTransmission() [2/2]

uint8_t arduino::I2CWrapper::endTransmission ( void  )
virtual

Implements arduino::HardwareI2C.

◆ onReceive()

void arduino::I2CWrapper::onReceive ( void(*)(int )
virtual

Implements arduino::HardwareI2C.

◆ onRequest()

void arduino::I2CWrapper::onRequest ( void(*)(void )
virtual

Implements arduino::HardwareI2C.

◆ peek()

int arduino::I2CWrapper::peek ( void  )
virtual

Implements arduino::Stream.

◆ read()

int arduino::I2CWrapper::read ( void  )
virtual

Implements arduino::Stream.

◆ requestFrom() [1/2]

size_t arduino::I2CWrapper::requestFrom ( uint8_t  address,
size_t  len 
)
virtual

Implements arduino::HardwareI2C.

◆ requestFrom() [2/2]

size_t arduino::I2CWrapper::requestFrom ( uint8_t  address,
size_t  len,
bool  stopBit 
)
virtual

Implements arduino::HardwareI2C.

◆ setClock()

void arduino::I2CWrapper::setClock ( uint32_t  freq)
virtual

Implements arduino::HardwareI2C.

◆ write()

size_t arduino::I2CWrapper::write ( uint8_t  data)
virtual

Implements arduino::Print.


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