From e4ed2439c428ccbd4da6e03b9f365b4653ce924b Mon Sep 17 00:00:00 2001 From: Craig Markwardt Date: Fri, 22 Mar 2019 11:15:07 -0400 Subject: [PATCH] sensors - allow a second BMX280 sensor --- code/espurna/config/sensors.h | 3 ++- code/espurna/sensor.ino | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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