#include "BME280.h" #include #include #include #include BME280::BME280() {} bool BME280::begin(void) { // SPI.begin(BME_SCK, BME_MISO, BME_MOSI, BME_CS); pinMode(18, OUTPUT); digitalWrite(18, HIGH); // disable LoRa_CS pinMode(23, OUTPUT); digitalWrite(23, HIGH); // enable bme280 CS delay(50); bme = new Adafruit_BME280(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI int retries = 0; while (!(status = bme->begin())) { if (retries > 5) break; retries++; Serial.println("Could not find a valid BME280 sensor, check wiring!"); // bme->reset(); delay(500); } if (!status) return false; return true; } void BME280::printValues() { Serial.print("Temperature = "); Serial.print(bme->readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bme->readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme->readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme->readHumidity()); Serial.println(" %"); Serial.println(); } float BME280::readTemperature(void) { return bme->readTemperature(); } float BME280::readPressure(void) { return bme->readPressure() / 100.0F; } float BME280::readHumidity(void) { return bme->readHumidity(); }