Skip to content

Conversation

dylad
Copy link
Member

@dylad dylad commented Sep 10, 2018

Contribution description

This PR brings support for BME680 sensor (I2C only), this sensor can measure temperature, humidity, pressure and some gas concentration. This driver is based on Bosch Sensortech driver [1]

Maybe @aabadie will be interested by this driver ?

This PR still need some cleanup, this is why a set the WIP label, but it works in the current state.

Testing procedure

Run tests/driver_bme680 and check the displayed results

Issues/PRs references

None.

[1] https://github.com/BoschSensortec/BME680_driver

Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@dylad dylad added State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Area: drivers Area: Device drivers labels Sep 10, 2018
@dylad dylad added this to the Release 2018.10 milestone Sep 10, 2018
@dylad dylad requested a review from aabadie September 10, 2018 11:47
@RIOT-OS RIOT-OS deleted a comment Sep 10, 2018
@RIOT-OS RIOT-OS deleted a comment Sep 10, 2018
@dylad dylad added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Sep 10, 2018
@RIOT-OS RIOT-OS deleted a comment Sep 10, 2018
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@RIOT-OS RIOT-OS deleted a comment Sep 11, 2018
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@RIOT-OS RIOT-OS deleted a comment Sep 11, 2018
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@RIOT-OS RIOT-OS deleted a comment Sep 11, 2018
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@RIOT-OS RIOT-OS deleted a comment Sep 11, 2018
@RIOT-OS RIOT-OS deleted a comment Sep 11, 2018
@dylad dylad removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Sep 11, 2018
@miri64 miri64 added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Sep 11, 2018
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
@aabadie
Copy link
Contributor

aabadie commented Sep 20, 2018

@dylad, I didn't went through all the changes here yet but I had a look at the Bosch original driver. One thing I like there is that they provide a generic implementation, agnostic to the underlying hardware API: one can provide the SPI/I2C read/write functions to the driver and it does the job.
So do you think that it wouldn't be simpler to add bosch driver as a package and provide RIOT specific SPI/I2C read/write functions there ? I have no clear idea how to achieve this, but I think that would reduce the diff of this PR and avoid having to maintain a complete driver implementation.

@dylad
Copy link
Member Author

dylad commented Sep 20, 2018

I can work on providing an external package but we will loose the benefit of the SAUL implementation and TBH I don't like the way Bosch wrote this driver :)
I'll check which solution is the less dreadful.

@gschorcht
Copy link
Contributor

After some changes, I could also contribute a BME680 device driver, which I wrote completely from scratch almost a year ago for ESP-IDF and esp-open-rtos (https://github.com/gschorcht/bme680-esp-idf). It is working with SPI and I2C as well. It supports all complex features and configurations of the sensor.

My plan was to work on it in a few days to port it to RIOT but now I have seen this PR and I wonder if it still makes sense.

@dylad
Copy link
Member Author

dylad commented Sep 28, 2018

After thinking about it, maybe @aabadie is right. I'll provide this driver as a pkg, this way, we will let @boschsensortec maintaining their little toy and we will avoid this 'burden'.
I'll provide it in another PR, hence I'm closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: drivers Area: Device drivers CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants