From ef5ff78b3612464105903ed21ef45ebc94f98915 Mon Sep 17 00:00:00 2001 From: Brian Rogers Date: Mon, 6 Apr 2026 12:57:44 -0600 Subject: [PATCH] fixed i2c addr, added wait for sensor to take initial readings before requesting them --- src/main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index a46f73d..bb61cdf 100644 --- a/src/main.c +++ b/src/main.c @@ -35,8 +35,8 @@ int8_t check_file_exists(const char *filename) void user_delay_ms(uint32_t period) { - //usleep(period*1000); // if using gnu99 - sleep(period*1000); // if using c99 + usleep(period*1000); // if using gnu99 + //sleep(period*1000); // if using c99 } #ifdef BME280_FLOAT_ENABLE @@ -211,6 +211,7 @@ int8_t read_sensor_data_normal_mode(struct bme280_dev *dev) settings_sel |= BME280_FILTER_SEL; readings_result = bme280_set_sensor_settings(settings_sel, dev); readings_result = bme280_set_sensor_mode(BME280_NORMAL_MODE, dev); + dev->delay_ms(200); // wait for first measurement readings_result = bme280_get_sensor_data(BME280_ALL, &sensor_readings_data, dev); print_sensor_data(&sensor_readings_data); //save_data_to_json_file(&sensor_readings_data); @@ -227,7 +228,7 @@ int main(int argc, char* argv[]) printf("Failed to open the i2c bus %s", argv[1]); exit(1); } - if (ioctl(file_descriptor, I2C_SLAVE, 0x76) < 0) { + if (ioctl(file_descriptor, I2C_SLAVE, 0x77) < 0) { printf("Failed to acquire bus access and/or talk to slave.\n"); exit(1); }