Skip to content

Commit 9f8317d

Browse files
authored
Merge pull request #12 from olicooper/master
Add the ability to manually specify the pins for I2C transmission
2 parents 603a1ac + 4f53e91 commit 9f8317d

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/SparkFunBME280.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ BME280::BME280( void )
4242
settings.commInterface = I2C_MODE; //Can be I2C_MODE, SPI_MODE
4343
//Select address for I2C. Does nothing for SPI
4444
settings.I2CAddress = 0x77; //Ignored for SPI_MODE
45-
//Select CS pin for SPI. Does nothing for I2C
45+
//Select SDA pin for I2C. Does nothing for I2C
46+
settings.I2C_SDAPin = -1;
47+
//Select SCL pin for I2C. Does nothing for I2C
48+
settings.I2C_SCLPin = -1;
49+
//Select CS pin for I2C. Does nothing for I2C
4650
settings.chipSelectPin = 10;
4751
settings.runMode = 0;
4852
settings.tempOverSample = 0;
@@ -69,7 +73,8 @@ uint8_t BME280::begin()
6973
{
7074

7175
case I2C_MODE:
72-
Wire.begin();
76+
if (settings.I2C_SDAPin == -1 || settings.I2C_SCLPin == -1) Wire.begin();
77+
else Wire.begin(settings.I2C_SDAPin, settings.I2C_SCLPin);
7378
break;
7479

7580
case SPI_MODE:

src/SparkFunBME280.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ struct SensorSettings
9494
//Main Interface and mode settings
9595
uint8_t commInterface;
9696
uint8_t I2CAddress;
97-
uint8_t chipSelectPin;
97+
uint8_t I2C_SDAPin;
98+
uint8_t I2C_SCLPin;
99+
uint8_t chipSelectPin;
98100

99101
uint8_t runMode;
100102
uint8_t tStandby;

0 commit comments

Comments
 (0)