use crate::{ReadableRegister, WritableRegister};
#[derive(Default)]
pub struct NoCodec {}
#[maybe_async_cfg::maybe(
idents(hal(sync = "embedded_hal", async = "embedded_hal_async"), Codec, I2cBoundBus),
sync(feature = "sync"),
async(feature = "async"),
keep_self
)]
impl crate::i2c::Codec for NoCodec {
#[inline]
async fn read_register<R, I, A>(_bound_bus: &mut crate::i2c::I2cBoundBus<I, A>) -> Result<R, I::Error>
where
R: ReadableRegister,
I: hal::i2c::I2c<A> + hal::i2c::ErrorType,
A: hal::i2c::AddressMode + Copy,
{
panic!("i2c::codecs::NoCodec cannot be used at runtime! Please specify a real codec to access this register.");
}
#[inline]
async fn write_register<R, I, A>(
_bound_bus: &mut crate::i2c::I2cBoundBus<I, A>,
_register: impl AsRef<R>,
) -> Result<(), I::Error>
where
R: WritableRegister,
I: hal::i2c::I2c<A> + hal::i2c::ErrorType,
A: hal::i2c::AddressMode + Copy,
{
panic!("i2c::codecs::NoCodec cannot be used at runtime! Please specify a real codec to access this register.");
}
}