src/NW_BME280.cpp
Source code
/******************************************************************************
NW_BME280.cpp — NW_BME280
Northern Widget interface for the Bosch BME280 temperature, humidity,
and pressure sensor.
Bobby Schulz @ Northern Widget LLC
Distributed as-is; no warranty is given.
******************************************************************************/
#include "NW_BME280.h"
BME::BME() {
}
bool BME::begin(uint8_t ADR_) {
ADR = ADR_;
return Sensor.begin(ADR);
}
float BME::getPressure() {
return Sensor.readPressure() * 0.01; // Pa → mBar
}
float BME::getHumidity() {
return Sensor.readHumidity();
}
float BME::getTemperature() {
return Sensor.readTemperature();
}
//The columns a logger writes, streamed straight into the file. No row is
//composed in RAM; see LIBRARY-DESIGN.md section 14.
size_t BME::printDataHeader(Print& out) {
return out.print("Pressure Atmos [mBar],Humidity [%],Temp Atmos [C],");
}
size_t BME::printDataRow(Print& out) {
size_t n = 0;
n += out.print(getPressure());
n += out.print(',');
n += out.print(getHumidity());
n += out.print(',');
n += out.print(getTemperature());
n += out.print(',');
return n;
}
void BME::beginRawReadings() {}
uint16_t BME::takeRawReading(char* buf, uint16_t offset) {
char tmp[10];
dtostrf(getPressure(), 1, 2, tmp);
offset += snprintf(buf + offset, 10, "%s,", tmp);
dtostrf(getHumidity(), 1, 2, tmp);
offset += snprintf(buf + offset, 10, "%s,", tmp);
dtostrf(getTemperature(), 1, 2, tmp);
offset += snprintf(buf + offset, 10, "%s,", tmp);
return offset;
}
void BME::endRawReadings() {}
// ── PascalCase aliases (deprecated) ───────────────────────────────────────────
Updated on 2026-10-04 at 04:51:46 +0000