Skip to content

Commit 4b35c44

Browse files
authored
Declare TwoWire functions as virtual
To make alternative implementations of the TwoWire class (e.g. SoftwareWire for software I2C) work properly being passed to libraries that expect TwoWire type.
1 parent 9f8d27f commit 4b35c44

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

libraries/Wire/src/Wire.h

+19-19
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,31 @@ class TwoWire : public Stream
5050
static void onReceiveService(uint8_t*, int);
5151
public:
5252
TwoWire();
53-
void begin();
54-
void begin(uint8_t);
55-
void begin(int);
56-
void end();
57-
void setClock(uint32_t);
58-
void setWireTimeout(uint32_t timeout = 25000, bool reset_with_timeout = false);
59-
bool getWireTimeoutFlag(void);
60-
void clearWireTimeoutFlag(void);
61-
void beginTransmission(uint8_t);
62-
void beginTransmission(int);
63-
uint8_t endTransmission(void);
64-
uint8_t endTransmission(uint8_t);
65-
uint8_t requestFrom(uint8_t, uint8_t);
66-
uint8_t requestFrom(uint8_t, uint8_t, uint8_t);
67-
uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t);
68-
uint8_t requestFrom(int, int);
69-
uint8_t requestFrom(int, int, int);
53+
virtual void begin();
54+
virtual void begin(uint8_t);
55+
virtual void begin(int);
56+
virtual void end();
57+
virtual void setClock(uint32_t);
58+
virtual void setWireTimeout(uint32_t timeout = 25000, bool reset_with_timeout = false);
59+
virtual bool getWireTimeoutFlag(void);
60+
virtual void clearWireTimeoutFlag(void);
61+
virtual void beginTransmission(uint8_t);
62+
virtual void beginTransmission(int);
63+
virtual uint8_t endTransmission(void);
64+
virtual uint8_t endTransmission(uint8_t);
65+
virtual uint8_t requestFrom(uint8_t, uint8_t);
66+
virtual uint8_t requestFrom(uint8_t, uint8_t, uint8_t);
67+
virtual uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t);
68+
virtual uint8_t requestFrom(int, int);
69+
virtual uint8_t requestFrom(int, int, int);
7070
virtual size_t write(uint8_t);
7171
virtual size_t write(const uint8_t *, size_t);
7272
virtual int available(void);
7373
virtual int read(void);
7474
virtual int peek(void);
7575
virtual void flush(void);
76-
void onReceive( void (*)(int) );
77-
void onRequest( void (*)(void) );
76+
virtual void onReceive( void (*)(int) );
77+
virtual void onRequest( void (*)(void) );
7878

7979
inline size_t write(unsigned long n) { return write((uint8_t)n); }
8080
inline size_t write(long n) { return write((uint8_t)n); }

0 commit comments

Comments
 (0)