Files

38 lines
1.1 KiB
C
Raw Permalink Normal View History

2026-09-11 10:19:50 +02:00
#include <stdio.h>
#include <string.h>
#include <bmp280.h>
#include "ygg_bmp280.h"
extern float last_temperature;
2026-09-11 13:34:55 +02:00
extern float last_pressure;
extern float last_humidity;
2026-09-11 10:19:50 +02:00
void ygg_bmp280_init(bmp280_t *dev) {
bmp280_params_t params;
bmp280_init_default_params(&params);
memset(dev, 0, sizeof(bmp280_t));
ESP_ERROR_CHECK(bmp280_init_desc(dev, BMP280_I2C_ADDRESS_0, 0, I2C_MASTER_SDA, I2C_MASTER_SCL));
ESP_ERROR_CHECK(bmp280_init(dev, &params));
bool bme280p = dev->id == BME280_CHIP_ID;
printf("BMP280: found %s\n", bme280p ? "BME280" : "BMP280");
}
void ygg_bmp280_read_sensor(bmp280_t *dev) {
float pressure, temperature, humidity;
bool bme280p = dev->id == BME280_CHIP_ID;
if (bmp280_read_float(dev, &temperature, &pressure, &humidity) != ESP_OK)
printf("Temperature/pressure reading failed\n");
last_temperature = temperature;
2026-09-11 13:34:55 +02:00
last_pressure = pressure;
last_humidity = humidity;
2026-09-11 10:19:50 +02:00
printf("Pressure: %.2f Pa, Temperature: %.2f C", pressure, temperature);
if (bme280p)
printf(", Humidity: %.2f\n", humidity);
else
printf("\n");
}