Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quick Ultra-low power mode (q-ULP) #49

Open
luar123 opened this issue Nov 8, 2024 · 3 comments
Open

quick Ultra-low power mode (q-ULP) #49

luar123 opened this issue Nov 8, 2024 · 3 comments

Comments

@luar123
Copy link

luar123 commented Nov 8, 2024

The BME680 datasheet describes a q-ULP mode:

Quick Ultra-low power (q-ULP) has a 3 s data rate for Temperature, pressure and humidity w/o significantly
increasing the power consumption compared to ULP.

How can this mode be activated?
updateSubscription() in bsec2.cpp allows only to set a single sample rate and if I try to use multiple values, e.g.:

virtual_sensors[0].sensor_id = BSEC_OUTPUT_RAW_GAS;
virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_ULP;
virtual_sensors[1].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE;
virtual_sensors[1].sample_rate = BSEC_SAMPLE_RATE_LP;
virtual_sensors[2].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY;
virtual_sensors[2].sample_rate = BSEC_SAMPLE_RATE_LP;
bsec_sensor_configuration_t sensor_settings[BSEC_MAX_PHYSICAL_SENSOR];
uint8_t num_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR;
bsec_update_subscription_m(&this->bsec_instance_, virtual_sensors, 3, sensor_settings, &num_sensor_settings);

it fails with status 14:

Subscriped sample rate of the output is not matching with configured sample rate. For example if user used the configuration of ULP and outputs subscribed for LP mode this warning will inform the user about this mismatch
Can you please provide an example how to make it work?

@luar123
Copy link
Author

luar123 commented Nov 14, 2024

With a modified basic example it is working as expected. So I will debug my code and re-open if I find another issue.

@luar123 luar123 closed this as completed Nov 14, 2024
@luar123
Copy link
Author

luar123 commented Nov 17, 2024

As stated it is working as expected, however:

  1. Warning status 14 is still returned (also in the basic example). Is this intended?
  2. Setting only temperature to LP and leaving humidity and pressure at ULP leads to wrong humidity/pressure readings.

@luar123 luar123 reopened this Nov 17, 2024
@luar123
Copy link
Author

luar123 commented Nov 20, 2024

Actually it is not really working: Gas is way too high and temperature and humidity have a huge ripple every 5 minutes during gas measurement:
grafik
grafik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant