diff --git a/firmware/src/ad7172.rs b/firmware/src/ad7172.rs index aacf212..dc0a8ae 100644 --- a/firmware/src/ad7172.rs +++ b/firmware/src/ad7172.rs @@ -56,6 +56,14 @@ impl, NSS: OutputPin> Adc { Ok(adc) } + /// `0x00DX` for AD7271-2 + pub fn identify(&mut self) -> Option { + let mut buf = [0u8; 3]; + self.read_reg(Register::Id, &mut buf) + .ok() + .map(|()| (u16::from(buf[1]) << 8) | u16::from(buf[2])) + } + /// Returns the channel the data is from pub fn data_ready(&mut self) -> Option { let mut buf = [0u8; 2];