Skip to main content

embedded_devices/devices/bosch/bme280/
address.rs

1const PRIMARY_ADDRESS: u8 = 0b1110110;
2const SECONDARY_ADDRESS: u8 = 0b1110111;
3
4#[cfg_attr(feature = "defmt", derive(defmt::Format))]
5#[derive(Clone, Copy, PartialEq, Eq, Debug)]
6pub enum Address {
7    /// Primary device address 0b1110110 (SDO connected to GND).
8    Primary,
9    /// Secondary device address 0b1110111 (SDO connected to V_DDIO).
10    Secondary,
11    /// Custom address not directly supported by the device, but may be useful
12    /// when using address translators.
13    Custom(u8),
14}
15
16impl From<Address> for u8 {
17    fn from(address: Address) -> Self {
18        match address {
19            Address::Primary => PRIMARY_ADDRESS,
20            Address::Secondary => SECONDARY_ADDRESS,
21            Address::Custom(x) => x,
22        }
23    }
24}