| 1 | #![allow (clippy::missing_safety_doc)] |
| 2 | #![allow (clippy::identity_op)] |
| 3 | #![allow (clippy::unnecessary_cast)] |
| 4 | #![allow (clippy::erasing_op)] |
| 5 | |
| 6 | #[doc = "FDCAN Message RAM" ] |
| 7 | #[derive (Copy, Clone, Eq, PartialEq)] |
| 8 | pub struct Fdcanram { |
| 9 | ptr: *mut u8, |
| 10 | } |
| 11 | unsafe impl Send for Fdcanram {} |
| 12 | unsafe impl Sync for Fdcanram {} |
| 13 | impl Fdcanram { |
| 14 | #[inline (always)] |
| 15 | pub const unsafe fn from_ptr(ptr: *mut ()) -> Self { |
| 16 | Self { ptr: ptr as _ } |
| 17 | } |
| 18 | #[inline (always)] |
| 19 | pub const fn as_ptr(&self) -> *mut () { |
| 20 | self.ptr as _ |
| 21 | } |
| 22 | #[doc = "11-bit filter" ] |
| 23 | #[inline (always)] |
| 24 | pub const fn flssa(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 25 | assert!(n < 28usize); |
| 26 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0x0usize + n * 4usize) as _) } |
| 27 | } |
| 28 | #[doc = "29-bit filter" ] |
| 29 | #[inline (always)] |
| 30 | pub const fn flesa(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 31 | assert!(n < 16usize); |
| 32 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0x70usize + n * 4usize) as _) } |
| 33 | } |
| 34 | #[doc = "Rx FIFO 0" ] |
| 35 | #[inline (always)] |
| 36 | pub const fn rxfifo0(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 37 | assert!(n < 54usize); |
| 38 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0xb0usize + n * 4usize) as _) } |
| 39 | } |
| 40 | #[doc = "Rx FIFO 1" ] |
| 41 | #[inline (always)] |
| 42 | pub const fn rxfifo1(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 43 | assert!(n < 54usize); |
| 44 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0x0188usize + n * 4usize) as _) } |
| 45 | } |
| 46 | #[doc = "Tx event FIFO" ] |
| 47 | #[inline (always)] |
| 48 | pub const fn txefifo(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 49 | assert!(n < 6usize); |
| 50 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0x0260usize + n * 4usize) as _) } |
| 51 | } |
| 52 | #[doc = "Tx buffer" ] |
| 53 | #[inline (always)] |
| 54 | pub const fn txbuf(self, n: usize) -> crate::common::Reg<u32, crate::common::RW> { |
| 55 | assert!(n < 54usize); |
| 56 | unsafe { crate::common::Reg::from_ptr(self.ptr.add(0x0278usize + n * 4usize) as _) } |
| 57 | } |
| 58 | } |
| 59 | |