Releases: Wkesther2/bme680-driver
Releases · Wkesther2/bme680-driver
Power Saving Update & Major Refactoring v0.2.0
Overview
This release introduces significant improvements to power management and code quality. You can now individually disable sensor components (Gas, Temperature, Humidity, Pressure) to optimize for low-power applications.
BREAKING CHANGES
- The
Configstruct has been updated:gas_profileis now anOption<GasProfile>. To enable gas measurements, wrap your profile inSome(). - Internal constants and types have been refactored for better maintainability.
New Features
- Granular Power Control: Disable environmental sensors by setting their oversampling to
Oversampling::Skipped. - Heater Control: Completely bypass the heating phase by setting
gas_profile: Nonein the configuration. - Typestate Safety: Enhanced internal checks to ensure the sensor remains in a safe state during partial configurations.
Refactoring & Docs
- Magic Numbers Removed: All I2C register addresses and bitmasks are now managed via dedicated internal modules (
regs,msks,reg_sizes). - Documentation pass: Added comprehensive doc-comments to all public structures for better IDE support and clearer usage on docs.rs.
- README Update: New examples showing how to use the "Skipped" and "Option" features.
Installation
Update your Cargo.toml:
bme680-driver = "0.2.0"Initial Release v0.1.0
Initial Release v0.1.0
First official release of the bme680-driver crate.
Features
- Type-safe API: Uses the Typestate pattern to ensure the sensor is initialized before use.
- Fixed-point arithmetic: No floating-point unit (FPU) required.
- no_std: Compatible with bare-metal environments (Cortex-M, etc.).
- Helper methods: Built-in support for splitting values (
.split()) and converting pressure to hPa (.as_hpa()). - Example included: Full example for STM32F407 using
embedded-hal1.0.