.. highlight:: cpp Humidity ======== MetaEnvironment boards have a Bosch `BME280 `_ integrated environmental unit. Humidity functionality of that sensor are controlled by the functions in the `humidity.h `_ header file. Oversampling ------------ The humidity sensing portion of the BME280 chip only has 1 configurable parameter which is the oversampling mode. This is set by calling `mbl_mw_humidity_bme280_set_oversampling `_. Unlike other configuration functions, this function will immediately write the change to the sensor. :: #include "metawear/sensor/humidity_bme280.h" void configure_humidity(MblMwMetaWearBoard* board) { // Set oversampling mode to 16x mbl_mw_humidity_bme280_set_oversampling(board, MBL_MW_HUMIDITY_BME280_OVERSAMPLING_16X); } Humidity Measurement -------------------- Measuring humidity is manually triggered by calling `mbl_mw_humidity_bme280_read_percentage `_. Humidity data is percetange from 0 to 100 represented as a float. :: #include "metawear/sensor/humidity_bme280.h" void humidity_stream(MblMwMetaWearBoard* board) { auto data_handler = [](const MblMwData* data) -> void { // Cast value to float* printf("humidity: %.2f%%\n", *((float*) data->value)); }; auto humidity_signal = mbl_mw_humidity_bme280_get_percentage_data_signal(board); mbl_mw_datasignal_subscribe(humidity_signal, data_handler); mbl_mw_humidity_bme280_read_percentage(board); }