mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-22 06:42:32 +00:00
Use phantom for lifetime holder instead of not used pointer to pointer.
This commit is contained in:
parent
7fd79857c3
commit
b4a2f7fb70
@ -156,7 +156,6 @@ impl<T: Instance> Drop for CanConfig<'_, T> {
|
||||
/// CAN driver
|
||||
pub struct Can<'d, T: Instance> {
|
||||
_peri: PeripheralRef<'d, T>,
|
||||
instance: &'d crate::pac::can::Can,
|
||||
info: &'static Info,
|
||||
state: &'static State,
|
||||
}
|
||||
@ -228,7 +227,6 @@ impl<'d, T: Instance> Can<'d, T> {
|
||||
|
||||
Self {
|
||||
_peri: peri,
|
||||
instance: &T::info().regs.0,
|
||||
info: T::info(),
|
||||
state: T::state(),
|
||||
}
|
||||
@ -346,7 +344,7 @@ impl<'d, T: Instance> Can<'d, T> {
|
||||
/// Waits for a specific transmit mailbox to become empty
|
||||
pub async fn flush(&self, mb: Mailbox) {
|
||||
CanTx {
|
||||
_instance: &self.instance,
|
||||
_phantom: PhantomData,
|
||||
info: self.info,
|
||||
state: self.state,
|
||||
}
|
||||
@ -362,7 +360,7 @@ impl<'d, T: Instance> Can<'d, T> {
|
||||
/// and a frame with equal priority is already queued for transmission.
|
||||
pub async fn flush_any(&self) {
|
||||
CanTx {
|
||||
_instance: &self.instance,
|
||||
_phantom: PhantomData,
|
||||
info: self.info,
|
||||
state: self.state,
|
||||
}
|
||||
@ -373,7 +371,7 @@ impl<'d, T: Instance> Can<'d, T> {
|
||||
/// Waits until all of the transmit mailboxes become empty
|
||||
pub async fn flush_all(&self) {
|
||||
CanTx {
|
||||
_instance: &self.instance,
|
||||
_phantom: PhantomData,
|
||||
info: self.info,
|
||||
state: self.state,
|
||||
}
|
||||
@ -424,12 +422,12 @@ impl<'d, T: Instance> Can<'d, T> {
|
||||
pub fn split<'c>(&'c mut self) -> (CanTx<'d>, CanRx<'d>) {
|
||||
(
|
||||
CanTx {
|
||||
_instance: &self.instance,
|
||||
_phantom: PhantomData,
|
||||
info: self.info,
|
||||
state: self.state,
|
||||
},
|
||||
CanRx {
|
||||
instance: &self.instance,
|
||||
_phantom: PhantomData,
|
||||
info: self.info,
|
||||
state: self.state,
|
||||
},
|
||||
@ -502,7 +500,7 @@ impl<'d, const TX_BUF_SIZE: usize, const RX_BUF_SIZE: usize> BufferedCan<'d, TX_
|
||||
|
||||
/// CAN driver, transmit half.
|
||||
pub struct CanTx<'d> {
|
||||
_instance: &'d crate::pac::can::Can,
|
||||
_phantom: PhantomData<&'d ()>,
|
||||
info: &'static Info,
|
||||
state: &'static State,
|
||||
}
|
||||
@ -695,7 +693,7 @@ impl<'d, const TX_BUF_SIZE: usize> Drop for BufferedCanTx<'d, TX_BUF_SIZE> {
|
||||
/// CAN driver, receive half.
|
||||
#[allow(dead_code)]
|
||||
pub struct CanRx<'d> {
|
||||
instance: &'d crate::pac::can::Can,
|
||||
_phantom: PhantomData<&'d ()>,
|
||||
info: &'static Info,
|
||||
state: &'static State,
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user