-
Notifications
You must be signed in to change notification settings - Fork 964
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add BMP085 (and BMP180) sensor (temperature and air pressure)
- Loading branch information
Showing
7 changed files
with
61 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,6 +23,7 @@ class ScanI2C | |
BME_680, | ||
BME_280, | ||
BMP_280, | ||
BMP_085, | ||
INA260, | ||
INA219, | ||
INA3221, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#include "BMP085Sensor.h" | ||
#include "../mesh/generated/meshtastic/telemetry.pb.h" | ||
#include "TelemetrySensor.h" | ||
#include "configuration.h" | ||
#include <Adafruit_BMP085.h> | ||
#include <typeinfo> | ||
|
||
BMP085Sensor::BMP085Sensor() : TelemetrySensor(meshtastic_TelemetrySensorType_BMP085, "BMP085") {} | ||
|
||
int32_t BMP085Sensor::runOnce() | ||
{ | ||
LOG_INFO("Init sensor: %s\n", sensorName); | ||
if (!hasSensor()) { | ||
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS; | ||
} | ||
bmp085 = Adafruit_BMP085(); | ||
status = bmp085.begin(nodeTelemetrySensorsMap[sensorType].first, nodeTelemetrySensorsMap[sensorType].second); | ||
|
||
return initI2CSensor(); | ||
} | ||
|
||
void BMP085Sensor::setup() {} | ||
|
||
bool BMP085Sensor::getMetrics(meshtastic_Telemetry *measurement) | ||
{ | ||
LOG_DEBUG("BMP085Sensor::getMetrics\n"); | ||
measurement->variant.environment_metrics.temperature = bmp085.readTemperature(); | ||
measurement->variant.environment_metrics.barometric_pressure = bmp085.readPressure() / 100.0F; | ||
|
||
return true; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include "../mesh/generated/meshtastic/telemetry.pb.h" | ||
#include "TelemetrySensor.h" | ||
#include <Adafruit_BMP085.h> | ||
|
||
class BMP085Sensor : public TelemetrySensor | ||
{ | ||
private: | ||
Adafruit_BMP085 bmp085; | ||
|
||
protected: | ||
virtual void setup() override; | ||
|
||
public: | ||
BMP085Sensor(); | ||
virtual int32_t runOnce() override; | ||
virtual bool getMetrics(meshtastic_Telemetry *measurement) override; | ||
}; |