• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eldruin / tmp1x2-rs / 15920400938

27 Jun 2025 07:09AM UTC coverage: 70.283% (-13.0%) from 83.24%
15920400938

push

github

eldruin
Add async support

43 of 85 new or added lines in 3 files covered. (50.59%)

7 existing lines in 4 files now uncovered.

149 of 212 relevant lines covered (70.28%)

1.16 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.78
/src/interface.rs
1
use crate::RegisterU16;
2
use crate::{Config, Error, Register, Tmp1x2};
3
#[cfg(not(feature = "async"))]
4
use embedded_hal::i2c::I2c;
5
#[cfg(feature = "async")]
6
use embedded_hal_async::i2c::I2c as AsyncI2c;
7

8
#[maybe_async_cfg::maybe(
9
    sync(
10
        cfg(not(feature = "async")),
11
        self = "Tmp1x2",
12
        idents(AsyncI2c(sync = "I2c"))
13
    ),
14
    async(feature = "async", keep_self)
15
)]
16
impl<I2C, E, MODE> Tmp1x2<I2C, MODE>
17
where
18
    I2C: AsyncI2c<Error = E>,
19
{
20
    pub(crate) async fn write_config(&mut self, data: Config) -> Result<(), Error<E>> {
3✔
21
        self.write_register(Register::CONFIG, data.clone()).await?;
3✔
22
        self.config = data;
3✔
23
        Ok(())
3✔
24
    }
25

26
    pub(crate) async fn write_register(
4✔
27
        &mut self,
28
        register: u8,
29
        data: RegisterU16,
30
    ) -> Result<(), Error<E>> {
31
        self.i2c
4✔
32
            .write(self.address, &[register, data.msb, data.lsb])
4✔
NEW
33
            .await
×
UNCOV
34
            .map_err(Error::I2C)
×
35
    }
36

37
    pub(crate) async fn read_register_u16(
2✔
38
        &mut self,
39
        register: u8,
40
    ) -> Result<RegisterU16, Error<E>> {
41
        let mut data = [0; 2];
2✔
42
        self.i2c
2✔
43
            .write_read(self.address, &[register], &mut data)
2✔
NEW
44
            .await
×
UNCOV
45
            .map_err(Error::I2C)?;
×
46
        Ok(RegisterU16 {
2✔
47
            msb: data[0],
2✔
48
            lsb: data[1],
2✔
49
        })
50
    }
51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc