From 5929add1f49eff70bd20f6b35c591eaa636e2eae Mon Sep 17 00:00:00 2001 From: zjli-2019 Date: Thu, 11 Nov 2021 17:54:55 +0800 Subject: [PATCH] update milliseconds to microseconds --- README.md | 20 ++++++++++---------- examples/linux_userspace.c | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0a0e398..c5504db 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ The sensor driver package includes bme280.c, bme280.h and bme280_defs.h files. SPI 3-wire is currently not supported in the API. ## Usage guide ### Initializing the sensor -To initialize the sensor, user need to create a device structure. User can do this by -creating an instance of the structure bme280_dev. After creating the device strcuture, user +To initialize the sensor, user need to create a device structure. User can do this by +creating an instance of the structure bme280_dev. After creating the device strcuture, user need to fill in the various parameters as shown below. #### Example for SPI 4-Wire @@ -40,7 +40,7 @@ dev.intf_ptr = &dev_addr; dev.intf = BME280_SPI_INTF; dev.read = user_spi_read; dev.write = user_spi_write; -dev.delay_ms = user_delay_ms; +dev.delay_us = user_delay_us; rslt = bme280_init(&dev); ``` @@ -54,7 +54,7 @@ dev.intf_ptr = &dev_addr; dev.intf = BME280_I2C_INTF; dev.read = user_i2c_read; dev.write = user_i2c_write; -dev.delay_ms = user_delay_ms; +dev.delay_us = user_delay_us; rslt = bme280_init(&dev); ``` @@ -72,7 +72,7 @@ By default, 64 bit variant is used in the API. If the user wants 32 bit variant, macro BME280_64BIT_ENABLE in bme280_defs.h file. ### Sensor data units -> The sensor data units depends on the following macros being enabled or not, +> The sensor data units depends on the following macros being enabled or not, > (in bme280_defs.h file or as compiler macros) > * BME280_FLOAT_ENABLE > * BME280_64BIT_ENABLE @@ -112,7 +112,7 @@ int8_t stream_sensor_data_forced_mode(struct bme280_dev *dev) settings_sel = BME280_OSR_PRESS_SEL | BME280_OSR_TEMP_SEL | BME280_OSR_HUM_SEL | BME280_FILTER_SEL; rslt = bme280_set_sensor_settings(settings_sel, dev); - + /*Calculate the minimum delay required between consecutive measurement based upon the sensor enabled * and the oversampling configuration. */ req_delay = bme280_cal_meas_delay(&dev->settings); @@ -122,7 +122,7 @@ int8_t stream_sensor_data_forced_mode(struct bme280_dev *dev) while (1) { rslt = bme280_set_sensor_mode(BME280_FORCED_MODE, dev); /* Wait for the measurement to complete and print data @25Hz */ - dev->delay_ms(req_delay, dev->intf_ptr); + dev->delay_us(req_delay * 1000, dev->intf_ptr); rslt = bme280_get_sensor_data(BME280_ALL, &comp_data, dev); print_sensor_data(&comp_data); } @@ -164,7 +164,7 @@ int8_t stream_sensor_data_normal_mode(struct bme280_dev *dev) printf("Temperature, Pressure, Humidity\r\n"); while (1) { /* Delay while the sensor completes a measurement */ - dev->delay_ms(70, dev->intf_ptr); + dev->delay_us(70000, dev->intf_ptr); rslt = bme280_get_sensor_data(BME280_ALL, &comp_data, dev); print_sensor_data(&comp_data); } @@ -185,11 +185,11 @@ void print_sensor_data(struct bme280_data *comp_data) ### Templates for function pointers ``` c -void user_delay_ms(uint32_t period, void *intf_ptr) +void user_delay_us(uint32_t period, void *intf_ptr) { /* * Return control or wait, - * for a period amount of milliseconds + * for a period amount of microseconds */ } diff --git a/examples/linux_userspace.c b/examples/linux_userspace.c index 0b8fc9a..901f06e 100644 --- a/examples/linux_userspace.c +++ b/examples/linux_userspace.c @@ -316,7 +316,7 @@ int8_t stream_sensor_data_forced_mode(struct bme280_dev *dev) } /* Wait for the measurement to complete and print data */ - dev->delay_us(req_delay, dev->intf_ptr); + dev->delay_us(req_delay * 1000, dev->intf_ptr); rslt = bme280_get_sensor_data(BME280_ALL, &comp_data, dev); if (rslt != BME280_OK) {