Go to the documentation of this file.
124 void flush()
override;
144 unsigned twi_clockStretchLimit{0};
155 bool transmitting{
false};
158 void onRequestService();
159 void onReceiveService(
uint8_t*,
int);
162 bool twi_write_start();
163 bool twi_write_stop();
164 bool twi_write_bit(
bool bit);
166 bool twi_write_byte(
uint8_t byte);
167 uint8_t twi_read_byte(
bool nack);
172 #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_TWOWIRE)
#define DEFAULT_SCL_PIN
Definition: Esp8266/Core/twi_arch.h:20
Base Stream class.
Definition: Wiring/Stream.h:32
Status status()
Query bus status.
size_t write(uint8_t) override
Writes a single character to output stream.
void onRequest(UserRequest callback)
Definition: Wire.h:135
void(*)(int len) UserReceive
Definition: Wire.h:50
@ I2C_ERR_SUCCESS
Definition: Wire.h:43
@ I2C_SCL_HELD_LOW_AFTER_READ
Definition: Wire.h:37
@ I2C_ERR_DATA_NACK
Definition: Wire.h:45
Error endTransmission(bool sendStop=true)
Perform actual transaction with device.
#define DEFAULT_SDA_PIN
Definition: Esp8266/Core/twi_arch.h:19
void setClockStretchLimit(uint32_t limit)
Set approximate time in microseconds that clocks may be stretched by.
@ I2C_SDA_HELD_LOW
Definition: Wire.h:38
#define bit(x)
Definition: BitManipulations.h:12
static constexpr size_t BUFFER_LENGTH
Definition: Wire.h:32
void end()
End TwoWire operation.
@ I2C_ERR_ADDR_NACK
Definition: Wire.h:44
virtual size_t write(uint8_t c)=0
Writes a single character to output stream.
void beginTransmission(uint8_t address)
Signal start of transaction.
@ I2C_SCL_HELD_LOW
Definition: Wire.h:36
@ I2C_ERR_LINE_BUSY
Definition: Wire.h:46
void onReceive(UserReceive callback)
Definition: Wire.h:129
@ I2C_OK
Definition: Wire.h:35
@ I2C_SDA_HELD_LOW_AFTER_INIT
Definition: Wire.h:39
Status
Definition: Wire.h:34
void begin()
Initialise using current pin values.
uint8_t requestFrom(uint8_t address, uint8_t size, bool sendStop=true)
Perform a complete 'read' transaction.
void(*)() UserRequest
Definition: Wire.h:49
TwoWire()
Definition: Wire.h:52
Error
Definition: Wire.h:42
void setClock(uint32_t frequency)
Set approximate clock frequency.
void pins(uint8_t sda, uint8_t scl)
Switch to selected pins.