pub fn read<P: OutputPin + InputPin>( delay: &mut impl DelayNs, pin: &mut P, ) -> Result<Reading, DhtError<P::Error>>