use vcell::VolatileCell; #[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Module Configuration Register"] pub mcr: MCR, #[doc = "0x04 - Control 1 register"] pub ctrl1: CTRL1, #[doc = "0x08 - Free Running Timer"] pub timer: TIMER, _reserved0: [u8; 4usize], #[doc = "0x10 - Rx Mailboxes Global Mask Register"] pub rxmgmask: RXMGMASK, #[doc = "0x14 - Rx 14 Mask register"] pub rx14mask: RX14MASK, #[doc = "0x18 - Rx 15 Mask register"] pub rx15mask: RX15MASK, #[doc = "0x1c - Error Counter"] pub ecr: ECR, #[doc = "0x20 - Error and Status 1 register"] pub esr1: ESR1, _reserved1: [u8; 4usize], #[doc = "0x28 - Interrupt Masks 1 register"] pub imask1: IMASK1, _reserved2: [u8; 4usize], #[doc = "0x30 - Interrupt Flags 1 register"] pub iflag1: IFLAG1, #[doc = "0x34 - Control 2 register"] pub ctrl2: CTRL2, #[doc = "0x38 - Error and Status 2 register"] pub esr2: ESR2, _reserved3: [u8; 8usize], #[doc = "0x44 - CRC Register"] pub crcr: CRCR, #[doc = "0x48 - Rx FIFO Global Mask register"] pub rxfgmask: RXFGMASK, #[doc = "0x4c - Rx FIFO Information Register"] pub rxfir: RXFIR, #[doc = "0x50 - CAN Bit Timing Register"] pub cbt: CBT, _reserved4: [u8; 44usize], #[doc = "0x80 - Embedded RAM"] pub embedded_ram: [EMBEDDEDRAM; 128], _reserved5: [u8; 1536usize], #[doc = "0x880 - Rx Individual Mask Registers"] pub rximr0: RXIMR0, #[doc = "0x884 - Rx Individual Mask Registers"] pub rximr1: RXIMR1, #[doc = "0x888 - Rx Individual Mask Registers"] pub rximr2: RXIMR2, #[doc = "0x88c - Rx Individual Mask Registers"] pub rximr3: RXIMR3, #[doc = "0x890 - Rx Individual Mask Registers"] pub rximr4: RXIMR4, #[doc = "0x894 - Rx Individual Mask Registers"] pub rximr5: RXIMR5, #[doc = "0x898 - Rx Individual Mask Registers"] pub rximr6: RXIMR6, #[doc = "0x89c - Rx Individual Mask Registers"] pub rximr7: RXIMR7, #[doc = "0x8a0 - Rx Individual Mask Registers"] pub rximr8: RXIMR8, #[doc = "0x8a4 - Rx Individual Mask Registers"] pub rximr9: RXIMR9, #[doc = "0x8a8 - Rx Individual Mask Registers"] pub rximr10: RXIMR10, #[doc = "0x8ac - Rx Individual Mask Registers"] pub rximr11: RXIMR11, #[doc = "0x8b0 - Rx Individual Mask Registers"] pub rximr12: RXIMR12, #[doc = "0x8b4 - Rx Individual Mask Registers"] pub rximr13: RXIMR13, #[doc = "0x8b8 - Rx Individual Mask Registers"] pub rximr14: RXIMR14, #[doc = "0x8bc - Rx Individual Mask Registers"] pub rximr15: RXIMR15, _reserved6: [u8; 576usize], #[doc = "0xb00 - Pretended Networking Control 1 Register"] pub ctrl1_pn: CTRL1_PN, #[doc = "0xb04 - Pretended Networking Control 2 Register"] pub ctrl2_pn: CTRL2_PN, #[doc = "0xb08 - Pretended Networking Wake Up Match Register"] pub wu_mtc: WU_MTC, #[doc = "0xb0c - Pretended Networking ID Filter 1 Register"] pub flt_id1: FLT_ID1, #[doc = "0xb10 - Pretended Networking DLC Filter Register"] pub flt_dlc: FLT_DLC, #[doc = "0xb14 - Pretended Networking Payload Low Filter 1 Register"] pub pl1_lo: PL1_LO, #[doc = "0xb18 - Pretended Networking Payload High Filter 1 Register"] pub pl1_hi: PL1_HI, #[doc = "0xb1c - Pretended Networking ID Filter 2 Register / ID Mask Register"] pub flt_id2_idmask: FLT_ID2_IDMASK, #[doc = "0xb20 - Pretended Networking Payload Low Filter 2 Register / Payload Low Mask Register"] pub pl2_plmask_lo: PL2_PLMASK_LO, #[doc = "0xb24 - Pretended Networking Payload High Filter 2 low order bits / Payload High Mask Register"] pub pl2_plmask_hi: PL2_PLMASK_HI, _reserved7: [u8; 24usize], #[doc = "0xb40 - Wake Up Message Buffer Register for C/S"] pub wmb0_cs: WMB0_CS, #[doc = "0xb44 - Wake Up Message Buffer Register for ID"] pub wmb0_id: WMB0_ID, #[doc = "0xb48 - Wake Up Message Buffer Register for Data 0-3"] pub wmb0_d03: WMB0_D03, #[doc = "0xb4c - Wake Up Message Buffer Register Data 4-7"] pub wmb0_d47: WMB0_D47, #[doc = "0xb50 - Wake Up Message Buffer Register for C/S"] pub wmb1_cs: WMB1_CS, #[doc = "0xb54 - Wake Up Message Buffer Register for ID"] pub wmb1_id: WMB1_ID, #[doc = "0xb58 - Wake Up Message Buffer Register for Data 0-3"] pub wmb1_d03: WMB1_D03, #[doc = "0xb5c - Wake Up Message Buffer Register Data 4-7"] pub wmb1_d47: WMB1_D47, #[doc = "0xb60 - Wake Up Message Buffer Register for C/S"] pub wmb2_cs: WMB2_CS, #[doc = "0xb64 - Wake Up Message Buffer Register for ID"] pub wmb2_id: WMB2_ID, #[doc = "0xb68 - Wake Up Message Buffer Register for Data 0-3"] pub wmb2_d03: WMB2_D03, #[doc = "0xb6c - Wake Up Message Buffer Register Data 4-7"] pub wmb2_d47: WMB2_D47, #[doc = "0xb70 - Wake Up Message Buffer Register for C/S"] pub wmb3_cs: WMB3_CS, #[doc = "0xb74 - Wake Up Message Buffer Register for ID"] pub wmb3_id: WMB3_ID, #[doc = "0xb78 - Wake Up Message Buffer Register for Data 0-3"] pub wmb3_d03: WMB3_D03, #[doc = "0xb7c - Wake Up Message Buffer Register Data 4-7"] pub wmb3_d47: WMB3_D47, _reserved8: [u8; 128usize], #[doc = "0xc00 - CAN FD Control Register"] pub fdctrl: FDCTRL, #[doc = "0xc04 - CAN FD Bit Timing Register"] pub fdcbt: FDCBT, #[doc = "0xc08 - CAN FD CRC Register"] pub fdcrc: FDCRC, } #[doc = "Module Configuration Register"] pub struct MCR { register: VolatileCell, } #[doc = "Module Configuration Register"] pub mod mcr; #[doc = "Control 1 register"] pub struct CTRL1 { register: VolatileCell, } #[doc = "Control 1 register"] pub mod ctrl1; #[doc = "Free Running Timer"] pub struct TIMER { register: VolatileCell, } #[doc = "Free Running Timer"] pub mod timer; #[doc = "Rx Mailboxes Global Mask Register"] pub struct RXMGMASK { register: VolatileCell, } #[doc = "Rx Mailboxes Global Mask Register"] pub mod rxmgmask; #[doc = "Rx 14 Mask register"] pub struct RX14MASK { register: VolatileCell, } #[doc = "Rx 14 Mask register"] pub mod rx14mask; #[doc = "Rx 15 Mask register"] pub struct RX15MASK { register: VolatileCell, } #[doc = "Rx 15 Mask register"] pub mod rx15mask; #[doc = "Error Counter"] pub struct ECR { register: VolatileCell, } #[doc = "Error Counter"] pub mod ecr; #[doc = "Error and Status 1 register"] pub struct ESR1 { register: VolatileCell, } #[doc = "Error and Status 1 register"] pub mod esr1; #[doc = "Interrupt Masks 1 register"] pub struct IMASK1 { register: VolatileCell, } #[doc = "Interrupt Masks 1 register"] pub mod imask1; #[doc = "Interrupt Flags 1 register"] pub struct IFLAG1 { register: VolatileCell, } #[doc = "Interrupt Flags 1 register"] pub mod iflag1; #[doc = "Control 2 register"] pub struct CTRL2 { register: VolatileCell, } #[doc = "Control 2 register"] pub mod ctrl2; #[doc = "Error and Status 2 register"] pub struct ESR2 { register: VolatileCell, } #[doc = "Error and Status 2 register"] pub mod esr2; #[doc = "CRC Register"] pub struct CRCR { register: VolatileCell, } #[doc = "CRC Register"] pub mod crcr; #[doc = "Rx FIFO Global Mask register"] pub struct RXFGMASK { register: VolatileCell, } #[doc = "Rx FIFO Global Mask register"] pub mod rxfgmask; #[doc = "Rx FIFO Information Register"] pub struct RXFIR { register: VolatileCell, } #[doc = "Rx FIFO Information Register"] pub mod rxfir; #[doc = "CAN Bit Timing Register"] pub struct CBT { register: VolatileCell, } #[doc = "CAN Bit Timing Register"] pub mod cbt; #[doc = "Embedded RAM"] pub struct EMBEDDEDRAM { register: VolatileCell, } #[doc = "Embedded RAM"] pub mod embedded_ram; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR0 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr0; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR1 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr1; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR2 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr2; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR3 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr3; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR4 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr4; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR5 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr5; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR6 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr6; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR7 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr7; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR8 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr8; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR9 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr9; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR10 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr10; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR11 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr11; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR12 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr12; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR13 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr13; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR14 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr14; #[doc = "Rx Individual Mask Registers"] pub struct RXIMR15 { register: VolatileCell, } #[doc = "Rx Individual Mask Registers"] pub mod rximr15; #[doc = "Pretended Networking Control 1 Register"] pub struct CTRL1_PN { register: VolatileCell, } #[doc = "Pretended Networking Control 1 Register"] pub mod ctrl1_pn; #[doc = "Pretended Networking Control 2 Register"] pub struct CTRL2_PN { register: VolatileCell, } #[doc = "Pretended Networking Control 2 Register"] pub mod ctrl2_pn; #[doc = "Pretended Networking Wake Up Match Register"] pub struct WU_MTC { register: VolatileCell, } #[doc = "Pretended Networking Wake Up Match Register"] pub mod wu_mtc; #[doc = "Pretended Networking ID Filter 1 Register"] pub struct FLT_ID1 { register: VolatileCell, } #[doc = "Pretended Networking ID Filter 1 Register"] pub mod flt_id1; #[doc = "Pretended Networking DLC Filter Register"] pub struct FLT_DLC { register: VolatileCell, } #[doc = "Pretended Networking DLC Filter Register"] pub mod flt_dlc; #[doc = "Pretended Networking Payload Low Filter 1 Register"] pub struct PL1_LO { register: VolatileCell, } #[doc = "Pretended Networking Payload Low Filter 1 Register"] pub mod pl1_lo; #[doc = "Pretended Networking Payload High Filter 1 Register"] pub struct PL1_HI { register: VolatileCell, } #[doc = "Pretended Networking Payload High Filter 1 Register"] pub mod pl1_hi; #[doc = "Pretended Networking ID Filter 2 Register / ID Mask Register"] pub struct FLT_ID2_IDMASK { register: VolatileCell, } #[doc = "Pretended Networking ID Filter 2 Register / ID Mask Register"] pub mod flt_id2_idmask; #[doc = "Pretended Networking Payload Low Filter 2 Register / Payload Low Mask Register"] pub struct PL2_PLMASK_LO { register: VolatileCell, } #[doc = "Pretended Networking Payload Low Filter 2 Register / Payload Low Mask Register"] pub mod pl2_plmask_lo; #[doc = "Pretended Networking Payload High Filter 2 low order bits / Payload High Mask Register"] pub struct PL2_PLMASK_HI { register: VolatileCell, } #[doc = "Pretended Networking Payload High Filter 2 low order bits / Payload High Mask Register"] pub mod pl2_plmask_hi; #[doc = "Wake Up Message Buffer Register for C/S"] pub struct WMB0_CS { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for C/S"] pub mod wmb0_cs; #[doc = "Wake Up Message Buffer Register for ID"] pub struct WMB0_ID { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for ID"] pub mod wmb0_id; #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub struct WMB0_D03 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub mod wmb0_d03; #[doc = "Wake Up Message Buffer Register Data 4-7"] pub struct WMB0_D47 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register Data 4-7"] pub mod wmb0_d47; #[doc = "Wake Up Message Buffer Register for C/S"] pub struct WMB1_CS { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for C/S"] pub mod wmb1_cs; #[doc = "Wake Up Message Buffer Register for ID"] pub struct WMB1_ID { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for ID"] pub mod wmb1_id; #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub struct WMB1_D03 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub mod wmb1_d03; #[doc = "Wake Up Message Buffer Register Data 4-7"] pub struct WMB1_D47 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register Data 4-7"] pub mod wmb1_d47; #[doc = "Wake Up Message Buffer Register for C/S"] pub struct WMB2_CS { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for C/S"] pub mod wmb2_cs; #[doc = "Wake Up Message Buffer Register for ID"] pub struct WMB2_ID { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for ID"] pub mod wmb2_id; #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub struct WMB2_D03 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub mod wmb2_d03; #[doc = "Wake Up Message Buffer Register Data 4-7"] pub struct WMB2_D47 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register Data 4-7"] pub mod wmb2_d47; #[doc = "Wake Up Message Buffer Register for C/S"] pub struct WMB3_CS { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for C/S"] pub mod wmb3_cs; #[doc = "Wake Up Message Buffer Register for ID"] pub struct WMB3_ID { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for ID"] pub mod wmb3_id; #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub struct WMB3_D03 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register for Data 0-3"] pub mod wmb3_d03; #[doc = "Wake Up Message Buffer Register Data 4-7"] pub struct WMB3_D47 { register: VolatileCell, } #[doc = "Wake Up Message Buffer Register Data 4-7"] pub mod wmb3_d47; #[doc = "CAN FD Control Register"] pub struct FDCTRL { register: VolatileCell, } #[doc = "CAN FD Control Register"] pub mod fdctrl; #[doc = "CAN FD Bit Timing Register"] pub struct FDCBT { register: VolatileCell, } #[doc = "CAN FD Bit Timing Register"] pub mod fdcbt; #[doc = "CAN FD CRC Register"] pub struct FDCRC { register: VolatileCell, } #[doc = "CAN FD CRC Register"] pub mod fdcrc;