From 395926bd256a493c6258f4f99daf2d1f7bf880b2 Mon Sep 17 00:00:00 2001 From: Alexandre B Date: Mon, 8 Jul 2024 11:36:11 -0400 Subject: [PATCH] . --- ESP32-IDF_BMP280/main/bme280.h | 13 ++++++++++--- ESP32-IDF_BMP280/main/main.c | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ESP32-IDF_BMP280/main/bme280.h b/ESP32-IDF_BMP280/main/bme280.h index 6aebaae9..0eb66470 100644 --- a/ESP32-IDF_BMP280/main/bme280.h +++ b/ESP32-IDF_BMP280/main/bme280.h @@ -1,9 +1,16 @@ #ifndef __BME280_H__ #define __BME280_H__ -#define BME280_CHIP_ID (0x60) -#define BME280_I2C_ADDRESS1 (0x76) // BME280 Data sheet p. 32 -#define BME280_I2C_ADDRESS2 (0x77) +#define BME280_CHIP_ID (0x60) +#define BME280_I2C_ADDRESS1 (0x76) // BME280 Data sheet p. 32 +#define BME280_I2C_ADDRESS2 (0x77) +#define BME280_TEMPERATURE_DATA_SIZE (3) +#define BME280_TEMPERATURE_DATA_LENGTH (3) +#define BME280_PRESSURE_DATA_SIZE (3) +#define BME280_PRESSURE_DATA_LENGTH (3) +#define BME280_HUMIDITY_DATA_SIZE (2) +#define BME280_HUMIDITY_DATA_LENGTH (2) + /** GLOBAL MEMORY MAN AND REGISTERS * BME280 Data Sheet p. 26 diff --git a/ESP32-IDF_BMP280/main/main.c b/ESP32-IDF_BMP280/main/main.c index 664ba053..37ef2fd5 100644 --- a/ESP32-IDF_BMP280/main/main.c +++ b/ESP32-IDF_BMP280/main/main.c @@ -55,9 +55,19 @@ static esp_err_t mpu9250_register_read(uint8_t reg_addr, uint8_t *data, size_t l //error = i2c_master_write_read_device(I2C_MASTER_NUM, MPU9250_SENSOR_ADDR, ®ister_address, 1, registers_data, count, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); }*/ -static esp_err_t bme280_read_raw_temperature(uint8_t *raw_temperature_u32) { - // BME280_INIT_VALUE +static esp_err_t bme280_read_raw_temperature(uint8_t device_address, uint8_t *raw_temperature_u32) { + // BME280_INIT_VALUE LN 136 // BME280_TEMPERATURE_MSB_REG 0xFA + // BME280_TEMPERATURE_DATA_LENGTH + // BME280_TEMPERATURE_DATA_SIZE + // I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS + + int command_result = 0; + unsigned char raw_temperature[BME280_TEMPERATURE_DATA_SIZE] = {0, 0, 0}; + //command_result = i2c_master_read_from_device(0, BME280_I2C_ADDRESS1, *raw_temperature, BME280_TEMPERATURE_DATA_SIZE, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + command_result = i2c_master_write_read_device(0, BME280_I2C_ADDRESS1, *raw_temperature, BME280_TEMPERATURE_DATA_SIZE, *BME, 1, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + + } /**