diff --git a/code/espurna/config/sensors.h b/code/espurna/config/sensors.h index f1d16825..fb127a7f 100644 --- a/code/espurna/config/sensors.h +++ b/code/espurna/config/sensors.h @@ -159,8 +159,9 @@ #endif #ifndef BMX280_ADDRESS -#define BMX280_ADDRESS 0x00 // 0x00 means auto +#define BMX280_ADDRESS 0x00 // 0x00 means auto (0x76 or 0x77 allowed) #endif +//#define BMX280_ADDRESS2 0x77 // Address of 2nd BMX (must not use auto for either if two are present) #define BMX280_MODE 1 // 0 for sleep mode, 1 or 2 for forced mode, 3 for normal mode #define BMX280_STANDBY 0 // 0 for 0.5ms, 1 for 62.5ms, 2 for 125ms diff --git a/code/espurna/sensor.ino b/code/espurna/sensor.ino index 8c2571d4..d380fede 100644 --- a/code/espurna/sensor.ino +++ b/code/espurna/sensor.ino @@ -481,6 +481,13 @@ void _sensorLoad() { BMX280Sensor * sensor = new BMX280Sensor(); sensor->setAddress(BMX280_ADDRESS); _sensors.push_back(sensor); + + #ifdef BMX280_ADDRESS2 + // Up to two BME sensors allowed on one bus + BMX280Sensor * sensor2 = new BMX280Sensor(); + sensor->setAddress(BMX280_ADDRESS2); + _sensors.push_back(sensor2); + #endif } #endif