28 #include <I2C Slave 7bit.h>
30 #define BUFFER_LENGTH 32
36 static uint8_t rxBuffer[];
37 static uint8_t rxBufferIndex;
38 static uint8_t rxBufferLength;
40 static uint8_t txAddress;
41 static uint8_t txBuffer[];
42 static uint8_t txBufferIndex;
43 static uint8_t txBufferLength;
45 static uint8_t transmitting;
46 static void (*user_onRequest)(void);
47 static void (*user_onReceive)(int);
48 static void onRequestService(
void);
49 static void onReceiveService(uint8_t*,
int);
55 void beginTransmission(uint8_t);
56 void beginTransmission(
int);
57 uint8_t endTransmission(
void);
58 uint8_t endTransmission(uint8_t);
59 uint8_t requestFrom(uint8_t, uint8_t);
60 uint8_t requestFrom(uint8_t, uint8_t, uint8_t);
61 uint8_t requestFrom(
int,
int);
62 uint8_t requestFrom(
int,
int,
int);
63 virtual size_t write(uint8_t);
64 virtual size_t write(
const uint8_t *,
size_t);
65 virtual int available(
void);
66 virtual int read(
void);
67 virtual int peek(
void);
68 virtual void flush(
void);
69 void onReceive(
void (*)(
int) );
70 void onRequest(
void (*)(
void) );
77 inline size_t write(
unsigned long n) {
return write((uint8_t)n); }
78 inline size_t write(
long n) {
return write((uint8_t)n); }
79 inline size_t write(
unsigned int n) {
return write((uint8_t)n); }
80 inline size_t write(
int n) {
return write((uint8_t)n); }