Skip to main content

bme280_rs/
constants.rs

1// Copyright Claudio Mattera 2022-2026.
2//
3// Distributed under the MIT License or the Apache 2.0 License at your option.
4// See the accompanying files LICENSE-MIT.txt and LICENSE-APACHE-2.0.txt, or
5// online at
6// https://opensource.org/licenses/MIT
7// https://opensource.org/licenses/Apache-2.0
8
9//! Constants for BME280 sensor interface
10
11/// Default I²C address
12pub const DEFAULT_ADDRESS: u8 = 0x76;
13
14/// Hardcoded chip ID
15pub const CHIP_ID: u8 = 0x60;
16
17/// I²C register for chip ID
18pub(crate) const BME280_REGISTER_CHIPID: u8 = 0xd0;
19/// I²C register for soft reset
20pub(crate) const BME280_REGISTER_SOFTRESET: u8 = 0xe0;
21/// I²C register for humidity configuration
22pub(crate) const BME280_REGISTER_CONTROLHUMID: u8 = 0xf2;
23/// I²C register for chip status
24pub(crate) const BME280_REGISTER_STATUS: u8 = 0xf3;
25/// I²C register for chip control
26pub(crate) const BME280_REGISTER_CONTROL: u8 = 0xf4;
27/// I²C register for chip configuration
28pub(crate) const BME280_REGISTER_CONFIG: u8 = 0xf5;
29/// I²C register for pressure data
30pub(crate) const BME280_REGISTER_PRESSUREDATA: u8 = 0xf7;
31/// I²C register for temperature data
32pub(crate) const BME280_REGISTER_TEMPDATA: u8 = 0xfa;
33/// I²C register for humidity data
34pub(crate) const BME280_REGISTER_HUMIDDATA: u8 = 0xfd;
35
36/// Command for soft reset
37pub(crate) const BME280_COMMAND_SOFTRESET: u8 = 0xb6;
38
39/// Bitmask for sleep mode
40pub(crate) const MODE_SLEEP: u8 = 0b00;
41
42/// Temperature output value when measurement was skipped
43pub(crate) const SKIPPED_TEMPERATURE_OUTPUT: u32 = 0x80000;
44
45/// Temperature output value when measurement was skipped
46pub(crate) const SKIPPED_PRESSURE_OUTPUT: u32 = 0x80000;
47
48/// Temperature output value when measurement was skipped
49pub(crate) const SKIPPED_HUMIDITY_OUTPUT: u16 = 0x8000;