44 #ifndef RTDUINO_WIRE_BUFFER_LENGTH
45 #define RTDUINO_WIRE_BUFFER_LENGTH 32
48 #ifndef RTDUINO_DEFAULT_IIC_BUS_NAME
49 #define RTDUINO_DEFAULT_IIC_BUS_NAME "i2c0"
50 #warning "Please define this macro in arduino_pinout.h and make sure this board supports I2C!"
56 uint8_t rxBuffer[RTDUINO_WIRE_BUFFER_LENGTH];
58 size_t rxBufferLength;
61 uint8_t txBuffer[RTDUINO_WIRE_BUFFER_LENGTH];
63 size_t txBufferLength;
66 void (*user_onRequest)(void);
67 void (*user_onReceive)(size_t);
68 void onRequestService(
void);
69 void onReceiveService(uint8_t*,
size_t);
71 uint8_t twi_readFrom(
unsigned char address,
unsigned char * buf,
unsigned int len,
unsigned char sendStop);
72 uint8_t twi_writeTo(
unsigned char address,
unsigned char * buf,
unsigned int len,
unsigned char sendStop);
73 uint8_t twi_transmit(
const uint8_t * buf, uint8_t len);
74 uint8_t twi_status(
void);
77 struct rt_i2c_bus_device *_i2c_bus_dev;
80 void begin(
const char *i2c_dev_name = RTDUINO_DEFAULT_IIC_BUS_NAME);
84 void setClock(uint32_t);
85 void setWireTimeout(uint32_t timeout = 25000,
bool reset_with_timeout =
false);
86 void beginTransmission(uint8_t);
87 void beginTransmission(
int);
88 uint8_t endTransmission(
void);
89 uint8_t endTransmission(uint8_t);
90 uint8_t requestFrom(uint8_t, uint8_t);
91 uint8_t requestFrom(uint8_t, uint8_t, uint8_t);
92 uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t);
93 uint8_t requestFrom(
int,
int);
94 uint8_t requestFrom(
int,
int,
int);
95 virtual size_t write(uint8_t);
96 virtual size_t write(
const uint8_t *,
size_t);
97 virtual int available(
void);
98 virtual int read(
void);
99 virtual int peek(
void);
100 virtual void flush(
void);
101 void onReceive(
void (*)(
int));
102 void onRequest(
void (*)(
void));
104 inline size_t write(
unsigned long n) {
return write((uint8_t)n); }
105 inline size_t write(
long n) {
return write((uint8_t)n); }
106 inline size_t write(
unsigned int n) {
return write((uint8_t)n); }
107 inline size_t write(
int n) {
return write((uint8_t)n); }
Arduino Core Header File.