Add Wire:setPins(sda, scl)
Fixes: https://github.com/espressif/arduino-esp32/issues/3779
This commit is contained in:
parent
b92c58d74b
commit
4d98cea085
@ -58,6 +58,17 @@ TwoWire::~TwoWire()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TwoWire::setPins(int sdaPin, int sclPin)
|
||||||
|
{
|
||||||
|
if(i2c) {
|
||||||
|
log_e("can not set pins if begin was already called");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
sda = sdaPin;
|
||||||
|
scl = sclPin;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool TwoWire::begin(int sdaPin, int sclPin, uint32_t frequency)
|
bool TwoWire::begin(int sdaPin, int sclPin, uint32_t frequency)
|
||||||
{
|
{
|
||||||
if(sdaPin < 0) { // default param passed
|
if(sdaPin < 0) { // default param passed
|
||||||
|
@ -67,6 +67,10 @@ protected:
|
|||||||
public:
|
public:
|
||||||
TwoWire(uint8_t bus_num);
|
TwoWire(uint8_t bus_num);
|
||||||
~TwoWire();
|
~TwoWire();
|
||||||
|
|
||||||
|
//call setPins() first, so that begin() can be called without arguments from libraries
|
||||||
|
bool setPins(int sda, int scl);
|
||||||
|
|
||||||
bool begin(int sda=-1, int scl=-1, uint32_t frequency=0); // returns true, if successful init of i2c bus
|
bool begin(int sda=-1, int scl=-1, uint32_t frequency=0); // returns true, if successful init of i2c bus
|
||||||
// calling will attemp to recover hung bus
|
// calling will attemp to recover hung bus
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user