From e64cc577e9d5c8aede3c81b20855109a61cc76f9 Mon Sep 17 00:00:00 2001 From: William Clark Date: Sat, 4 Nov 2023 17:26:23 +0000 Subject: [PATCH] readme and cleanup --- README.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++------- main.c | 9 +----- 2 files changed, 76 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 8dda08b..c3f4411 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,35 @@ # bme680 -Example with working temperature, pressure and humidity readout +Example implementation, just lacking gas for now. + ``` -$ ./bme680 -61 +linux_i2c_init +linux_i2c_read: D0 (1) [61] +linux_i2c_write: E0 (1) [B6] +linux_i2c_read: E9 (2) [5B,66] +linux_i2c_read: 8A (2) [97,67] +linux_i2c_read: 8C (1) [3] +linux_i2c_read: 8E (2) [C0,88] +linux_i2c_read: 90 (2) [D4,D7] +linux_i2c_read: 92 (1) [58] +linux_i2c_read: 94 (2) [DC,25] +linux_i2c_read: 96 (2) [36,FF] +linux_i2c_read: 99 (1) [1E] +linux_i2c_read: 98 (1) [18] +linux_i2c_read: 9C (1) [FC] +linux_i2c_read: 9E (2) [73,F2] +linux_i2c_read: A0 (1) [1E] +linux_i2c_read: E2 (2) [FA,31] +linux_i2c_read: E1 (2) [3E,FA] +linux_i2c_read: E4 (1) [0] +linux_i2c_read: E5 (1) [2D] +linux_i2c_read: E6 (1) [14] +linux_i2c_read: E7 (1) [78] +linux_i2c_read: E8 (1) [9C] +linux_i2c_read: ED (1) [D0] +linux_i2c_read: EB (2) [85,E9] +linux_i2c_read: EE (1) [12] par_t1: 26203 par_t2: 26519 par_t3: 3 @@ -15,7 +40,7 @@ par_p4: 9692 par_p5: -202 par_p6: 30 par_p7: 24 -par_p8: -516 +par_p8: -4 par_p9: -3469 par_p10: 30 par_h1: 794 @@ -25,10 +50,50 @@ par_h4: 45 par_h5: 20 par_h6: 120 par_h7: -100 -temperature: 22.7519 oC (floating-point) -temperature: 2275 oC (integer x100) -pressure: 99711.8 Pa or 0.997118 bar (floating-point) -pressure: 99708 Pa (integer) -humidity: 62.3145 (floating-point) -humidity: 62289 (integer x1000) +linux_i2c_write: 74 (1) [B4] +linux_i2c_write: 72 (1) [4] +linux_i2c_write: 75 (1) [18] +linux_i2c_write: 74 (1) [B5] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [20] +linux_i2c_read: 1D (1) [80] +linux_i2c_read: 22 (3) [75,68,0] +linux_i2c_read: 1F (3) [55,63,70] +linux_i2c_read: 25 (2) [62,9E] +float mode +tfine: 99793.535399 +temp: 19.490925 degC +press: 96211.887865 Pa +humidity: 67.809989 % RH +linux_i2c_deinit ``` + +Low air pressure due to storm not bad sensor diff --git a/main.c b/main.c index 85ad7b1..6776354 100644 --- a/main.c +++ b/main.c @@ -16,7 +16,7 @@ int linux_i2c_read (uint8_t reg, uint8_t *dst, uint32_t size); int linux_i2c_write (uint8_t reg, uint8_t *src, uint32_t size); int linux_i2c_deinit (void); -int main(){ +int main() { bme680_t bme680; uint8_t mode; @@ -52,14 +52,12 @@ int main(){ /* debug */ bme680_print_calibration(&bme680); - /* 6. set up device config */ bme680.cfg.osrs_t = BME680_OVERSAMPLE_16X; bme680.cfg.osrs_p = BME680_OVERSAMPLE_16X; bme680.cfg.osrs_h = BME680_OVERSAMPLE_8X; bme680.cfg.filter = BME680_IIR_COEFF_63; - /* 7. write config to device and set off conversion */ if (bme680_start(&bme680) != 0) { fprintf(stderr, "bme680_start()\n"); @@ -74,7 +72,6 @@ int main(){ exit(EXIT_FAILURE); } - /* 9. read the ADC's and perform a conversion */ if (bme680_read(&bme680) != 0) { fprintf(stderr, "bme680_read()\n"); @@ -82,10 +79,6 @@ int main(){ exit(EXIT_FAILURE); } - printf("adc_temp: %d\n", bme680.adc.temp); - printf("adc_press: %d\n", bme680.adc.press); - printf("adc_hum: %d\n", bme680.adc.hum); - /* 10. use data ! */ if (BME680_IS_FLOAT(bme680.mode)) {