BMP581 Driver 1.0.0
API reference
Loading...
Searching...
No Matches
Classes | Namespaces
bmp581_driver.hpp File Reference

Bosch BMP581 barometric pressure sensor client (I2C or SPI via CRTP bus). More...

#include "bmp581_bus_interface.hpp"
#include "bmp581_registers.hpp"
#include "bmp581_types.hpp"
#include <cstddef>
#include <cstdint>
Include dependency graph for bmp581_driver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bmp581::Driver< BusT >
 BMP581 client. More...
 

Namespaces

namespace  bmp581
 

Detailed Description

Bosch BMP581 barometric pressure sensor client (I2C or SPI via CRTP bus).

Ported from the register sequences of the Bosch BMP5 Sensor API (v1.1.1, BSD-3) into a header-only C++17 driver: chip-id / NVM-ready init, soft reset with the CHIP_ID / STATUS / POR check, power modes with the mandatory standby hop, OSR/ODR, IIR (standby-only write, mode restored), interrupt pin / source configuration, data-ready polling, 24-bit pressure (1/64 Pa) and temperature (1/65536 °C) read, and NVM user-word read. FIFO is intentionally out of scope.

Typical session:

dev.Init(); // chip id + NVM ready
dev.SoftReset();
if (dev.DataReady().value) { auto s = dev.ReadSample(); }
BMP581 client.
Definition bmp581_driver.hpp:40
constexpr Config BarometricReferencePreset() noexcept
Barometric preset for a ~100 Hz reference channel. OSR ×8 pressure / ×1 temperature keeps the ODR val...
Definition bmp581_types.hpp:138