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 | |