selectable i2c Pins for esp8266 and other

This commit is contained in:
coelner
2017-07-26 17:43:44 +02:00
parent 1b667ba87b
commit b87cd4d806
3 changed files with 58 additions and 0 deletions
+14
View File
@@ -56,6 +56,20 @@ BH1750::BH1750(byte addr) {
}
/**
* Begin I2C and configure sensor
* @param SDA Date SCL Clock mode Measurment mode
*/
#if defined(ARDUINO_ARCH_ESP8266)
void BH1750::begin(uint8_t SDA, uint8_t SCL, uint8_t mode) {
// allow config of pins
Wire.begin(SDA,SCL);
// Configure sensor in specified mode
configure(mode);
}
#endif
/**
* Begin I2C and configure sensor
+4
View File
@@ -60,6 +60,10 @@ class BH1750 {
public:
BH1750 (byte addr = 0x23);
#if defined(ARDUINO_ARCH_ESP8266)
/* ==== On esp8266 it is possible to define I2C pins ==== */
void begin (uint8_t SDA, uint8_t SCL, uint8_t mode = BH1750_CONTINUOUS_HIGH_RES_MODE);
#endif
void begin (uint8_t mode = BH1750_CONTINUOUS_HIGH_RES_MODE);
void configure (uint8_t mode);
uint16_t readLightLevel(void);
+40
View File
@@ -0,0 +1,40 @@
diff --git a/BH1750.cpp b/BH1750.cpp
index e7a2f30..ed48cf1 100644
--- a/BH1750.cpp
+++ b/BH1750.cpp
@@ -56,6 +56,20 @@ BH1750::BH1750(byte addr) {
}
+/**
+ * Begin I2C and configure sensor
+ * @param SDA Date SCL Clock mode Measurment mode
+ */
+#if defined(ARDUINO_ARCH_ESP8266)
+void BH1750::begin(uint8_t SDA, uint8_t SCL, uint8_t mode) {
+
+ // allow config of pins
+ Wire.begin(SDA,SCL);
+
+ // Configure sensor in specified mode
+ configure(mode);
+}
+#endif
/**
* Begin I2C and configure sensor
diff --git a/BH1750.h b/BH1750.h
index 947283d..90dc4df 100644
--- a/BH1750.h
+++ b/BH1750.h
@@ -60,6 +60,10 @@ class BH1750 {
public:
BH1750 (byte addr = 0x23);
+ #if defined(ARDUINO_ARCH_ESP8266)
+ /* ==== On esp8266 it is possible to define I2C pins ==== */
+ void begin (uint8_t SDA, uint8_t SCL, uint8_t mode = BH1750_CONTINUOUS_HIGH_RES_MODE);
+ #endif
void begin (uint8_t mode = BH1750_CONTINUOUS_HIGH_RES_MODE);
void configure (uint8_t mode);
uint16_t readLightLevel(void);