boschsensortec / bme68x_sensorapi Goto Github PK
View Code? Open in Web Editor NEWCommon Sensor API for the BME680 and BME688 sensors
License: BSD 3-Clause "New" or "Revised" License
Common Sensor API for the BME680 and BME688 sensors
License: BSD 3-Clause "New" or "Revised" License
Hello the BME68x should work between 1.71 ... 3.6 V
fine :) we have profiles in the BSEC library for 1.8V and 3.3V
But how does the sensor and lib behave on for example 2.5V ? Are the values then not accurate anymore ?
regards
When the device cannot be set to sleep mode (for whatever reason) the function never returns.
do
{
} while ((pow_mode != BME68X_SLEEP_MODE) && (rslt == BME68X_OK));
Hi,
I installed a breakout board with the bme688 on my raspberry pi 4. When I tried to run the forced_mode example, the following message comes up:
Unable to connect with Application Board !
The compilation finished without error, and the "i2cdetect -y 1":
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- 77
That the id "77" is up.
Any idea what I forgot or did wrong?
Hi,
I am trying to read variant id from the 0xf0 register over the I2C line but it is unsuccessful. So and there is no information about that register in the bme680 datasheet.
is there anyone who encountered the same error? or Can anyone shed some light on the topic? Why can I not see that register address in the datasheet?
Cheers!
I would really appreciate if you could upload "coines.h" file
Can someone explain the available modes?
I can see in the examples and in the library the 3 modes:
BME68X_FORCED_MODE
BME68X_SEQUENTIAL_MODE
BME68X_PARALLEL_MODE
Nowhere those 3 modes are explained, with their correlated limitations...
If not using floating point (BME68X_USE_FPU not defined), in bme68x.c declaration and definition of calc_gas_resistance_high function are incompatible, thus the file will not compile:
`
static uint32_t calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range); // declaration
static uint32_t calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev) //definition
`
BTW, this mean no one tested the code.
Hi Folks,
Very glade to bought 2x BME680 example. Since I'm planning to run BME680 on my Jetson Nano Devkit.I've really push my self to understand the driver code. But so far without luck.
The official BME680_driver seems won't work without bsec library. Since I'm pretty newbie still. I just wounder how to get a handy start point with this sensor.
I've tried to test "forced_mode" in this repo with make
command. But only get the error log as title above mentioned. I'm reaching the interest to figure out way to use these awesome drivers. Could any one help out?
Hi,
I want to use the library but ı dont know that works on stm.
Can ı use the library on stm?
I am working with BME688 and begin does not pass this line, because my chip is reporting ID 0x60:
https://github.com/BoschSensortec/BME68x-Sensor-API/blob/master/bme68x.c#L154
I would like to ask if this is variation or i need to know something else about my chip?
Thanks
I-m running the bmerawdata.py file on Raspberry Pi 400 and after increasing the stack size to 32768 and setting core file size to unlimited i-m able to run the measurements for around 40 times and then it go to Segmentation fault without generating any file. Is there anything i can change in configuration to make it work?
Hello,
I'm not sure. This is true issue or just my side issue.
I use PIC 18F27K42 contorler to utilize this BME680. And I refered examples/forced_mode)/forced_mode.c as main routine.
However this forced_mode.c could not operate well.
For my hardware with PIC, I use bme68x_defs.h, bme68x.h and bme68x.c without any change. On the other hand, I also utilize examples/common/common.h and examples/common/common.c.
I know I need to modify common.c to fit with my hardware. I don't use or ignore coins related routine. I modified I2C related function, delay and bme68x_interface_init. I suppose I could put correct modification without coins related functions.
I expected forced_mode.c shows SAMPLE_COUNT times. However, data from BME680 looks strange. Only temperature looks OK but humidity shows always 100%.
After investigating on my side, I found when I put both bme68x_set_heatr_conf and bme68x_set_conf function into while loop, then I could get correct value from BME680. Thus now I can use BME680 with PIC. But I don't know this information and/or method is correct or not.
Both functions are needed to get correct informaion on my system. If I put either function from while loop, I could not find correct value from BME680.
Thanks,
Hello,
is this new driver version compatible with the BSEC library that can be downloaded from here: https://www.bosch-sensortec.com/software-tools/software/bsec/
Thanks
Not sure if this is the right place for reporting this issue: I'm using BME688 on an Adafruit breakout with the proprietary arduino <bsec.h>
library. Temperature, humidity an pressure readings work fine. Only the gas resistance is constant in every reading (12946860 Ohms), and subsequently all other derived/calculated measures (IAQ, CO2 equivalent, breath VOC equivalent) are hanging at their lowes values.
BSEC library version 1.4.8.0
Timestamp [ms], raw temperature [°C], pressure [hPa], raw relative humidity [%], gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], Static IAQ, CO2 equivalent, breath VOC equivalent
3496, 23.67, 102518.00, 31.25, 12946860.00, 25.00, 0, 23.67, 31.25, 25.00, 500.00, 0.50
6496, 23.68, 102517.00, 31.18, 12946860.00, 25.00, 0, 23.62, 31.29, 25.00, 500.00, 0.50
9496, 23.72, 102517.00, 31.09, 12946860.00, 25.00, 0, 23.66, 31.14, 25.00, 500.00, 0.50
12496, 23.72, 102515.00, 31.00, 12946860.00, 25.00, 0, 23.66, 31.07, 25.00, 500.00, 0.50
15495, 23.73, 102517.00, 30.93, 12946860.00, 25.00, 0, 23.67, 30.99, 25.00, 500.00, 0.50
18495, 23.73, 102517.00, 30.88, 12946860.00, 25.00, 0, 23.67, 30.96, 25.00, 500.00, 0.50
I tested with <Adafruit_BME680.h>
library, which works fine and outputs reasonable and changing (slowly increasing) gas resistance values. Am I missing something? Configuration of the heater...?
I used the example script from the Arduino library.
https://github.com/boschsensortec/BSEC-Arduino-library
This repository was not updated since 3 years.
Thank you.
Hi,
I'm using BME68x sensor for a project, but I have some problems with the common.c file. I want to adapt for nRF5282 using I2C communication.
Is there someone that has already done that and would like to share the file, please?
Thanks
Hello,
I am working with a BME688 in parallel mode. What is the correct way to read the status bits (new_data, gas_valid_r, and heat_stab_r). I've implemented this method below, its similar to how the API implements parallel mode.
read all 3 data fields
//repeat this for each field
if(new data && gas valid && heat stab) //each must be 1
{
print data
}
As a result of this I was getting an ODR of about 0.1Hz. I loaded up the same sensor configuration in the Bosch Development Desktop GUI software and was getting an ODR of about 24Hz. Any suggestions as to how to properly read status bits before data registers on the bme688 in parallel mode?
I'm running the self-test routine, and this test always fails with code 2 - no new data available. I have also tried manually reading from the sensor by following the example code, and num_fields is always set to 0, regardless of the delay time. I have confirmed I can read/write to the sensor in general - is there a step I am missing?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.