Compare commits
13 Commits
vorago-peb
...
a8fbe2abb5
Author | SHA1 | Date | |
---|---|---|---|
a8fbe2abb5 | |||
f37c3f2806 | |||
0a7642213f
|
|||
a3d637fd0c | |||
69f8671412 | |||
13a86ac291 | |||
7089168917 | |||
bfaa3eebee | |||
273be8b3cf
|
|||
464cc60c75 | |||
2c9ca004ce | |||
0c040515fe | |||
f3fd5122cb |
@ -1,13 +1,11 @@
|
|||||||
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
||||||
runner = "gdb-multiarch -q -x jlink/jlink.gdb"
|
# runner = "gdb-multiarch -q -x jlink/jlink.gdb"
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink/jlink-reva.gdb"
|
# runner = "arm-none-eabi-gdb -q -x jlink/jlink-reva.gdb"
|
||||||
# runner = "gdb-multiarch -q -x jlink/jlink-reva.gdb"
|
# runner = "gdb-multiarch -q -x jlink/jlink-reva.gdb"
|
||||||
|
|
||||||
# Probe-rs is currently problematic, possibly because of the
|
# Probe-rs is currently problematic, possibly because of the
|
||||||
# ROM protection?
|
# ROM protection?
|
||||||
# runner = "probe-rs run --chip-description-path ./scripts/VA416xx_Series.yaml"
|
runner = "probe-rs run --chip VA416xx_RAM --protocol swd"
|
||||||
# runner = ["probe-rs", "run", "--chip", "$CHIP", "--log-format", "{L} {s}"]
|
|
||||||
|
|
||||||
|
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C",
|
"-C",
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -15,3 +15,5 @@ Cargo.lock
|
|||||||
|
|
||||||
/app.map
|
/app.map
|
||||||
/app.bin
|
/app.bin
|
||||||
|
|
||||||
|
/Embed.toml
|
||||||
|
@ -3,6 +3,7 @@ resolver = "2"
|
|||||||
members = [
|
members = [
|
||||||
"va416xx",
|
"va416xx",
|
||||||
"va416xx-hal",
|
"va416xx-hal",
|
||||||
|
"va416xx-embassy",
|
||||||
"vorago-peb1",
|
"vorago-peb1",
|
||||||
"bootloader",
|
"bootloader",
|
||||||
"flashloader",
|
"flashloader",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[default.general]
|
[default.general]
|
||||||
chip = "VA416xx"
|
chip = "VA416xx_RAM"
|
||||||
|
|
||||||
[default.rtt]
|
[default.rtt]
|
||||||
enabled = true
|
enabled = true
|
78
README.md
78
README.md
@ -14,6 +14,8 @@ This workspace contains the following crates:
|
|||||||
PAC crate containing basic low-level register definition
|
PAC crate containing basic low-level register definition
|
||||||
- The [`va416xx-hal`](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/va416xx-hal)
|
- The [`va416xx-hal`](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/va416xx-hal)
|
||||||
HAL crate containing higher-level abstractions on top of the PAC register crate.
|
HAL crate containing higher-level abstractions on top of the PAC register crate.
|
||||||
|
- The [`va416xx-embassy`](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/va108xx-embassy)
|
||||||
|
crate containing support for running the embassy-rs RTOS.
|
||||||
- The [`vorago-peb1`](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/vorago-peb1)
|
- The [`vorago-peb1`](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/vorago-peb1)
|
||||||
BSP crate containing support for the PEB1 development board.
|
BSP crate containing support for the PEB1 development board.
|
||||||
|
|
||||||
@ -56,6 +58,25 @@ You can then adapt the files in `.vscode` to your needs.
|
|||||||
You can use CLI or VS Code for flashing, running and debugging. In any case, take
|
You can use CLI or VS Code for flashing, running and debugging. In any case, take
|
||||||
care of installing the pre-requisites first.
|
care of installing the pre-requisites first.
|
||||||
|
|
||||||
|
### Using CLI with probe-rs
|
||||||
|
|
||||||
|
Install [probe-rs](https://probe.rs/docs/getting-started/installation/) first.
|
||||||
|
|
||||||
|
You can use `probe-rs` to run the software and display RTT log output. However, debugging does not
|
||||||
|
work yet.
|
||||||
|
|
||||||
|
After installation, you can run the following command
|
||||||
|
|
||||||
|
```sh
|
||||||
|
probe-rs run --chip VA416xx_RAM --protocol jtag target/thumbv7em-none-eabihf/debug/examples/blinky
|
||||||
|
```
|
||||||
|
|
||||||
|
to flash and run the blinky program on the RAM. There is also a `VA416xx` chip target
|
||||||
|
available for persistent flashing.
|
||||||
|
|
||||||
|
Runner configuration avilable in the `.cargo/def-config.toml` file to use `probe-rs` for
|
||||||
|
convenience.
|
||||||
|
|
||||||
### Pre-Requisites
|
### Pre-Requisites
|
||||||
|
|
||||||
1. [SEGGER J-Link tools](https://www.segger.com/downloads/jlink/) installed
|
1. [SEGGER J-Link tools](https://www.segger.com/downloads/jlink/) installed
|
||||||
@ -64,6 +85,38 @@ care of installing the pre-requisites first.
|
|||||||
|
|
||||||
### Using CLI
|
### Using CLI
|
||||||
|
|
||||||
|
|
||||||
|
### Using VS Code
|
||||||
|
|
||||||
|
Assuming a working debug connection to your VA416xx board, you can debug using VS Code with
|
||||||
|
the [`Cortex-Debug` plugin](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug).
|
||||||
|
Please make sure that [`objdump-multiarch` and `nm-multiarch`](https://forums.raspberrypi.com/viewtopic.php?t=333146)
|
||||||
|
are installed as well.
|
||||||
|
|
||||||
|
Some sample configuration files for VS code were provided and can be used by running
|
||||||
|
`cp -rT vscode .vscode` like specified above. After that, you can use `Run and Debug`
|
||||||
|
to automatically rebuild and flash your application.
|
||||||
|
|
||||||
|
If you would like to use a custom GDB application, you can specify the gdb binary in the following
|
||||||
|
configuration variables in your `settings.json`:
|
||||||
|
|
||||||
|
- `"cortex-debug.gdbPath"`
|
||||||
|
- `"cortex-debug.gdbPath.linux"`
|
||||||
|
- `"cortex-debug.gdbPath.windows"`
|
||||||
|
- `"cortex-debug.gdbPath.osx"`
|
||||||
|
|
||||||
|
The provided VS Code configurations also provide an integrated RTT logger, which you can access
|
||||||
|
via the terminal at `RTT Ch:0 console`. In order for the RTT block address detection to
|
||||||
|
work properly, `objdump-multiarch` and `nm-multiarch` need to be installed.
|
||||||
|
|
||||||
|
### Using CLI with GDB and Segger J-Link Tools
|
||||||
|
|
||||||
|
Install the following two tools first:
|
||||||
|
|
||||||
|
1. [SEGGER J-Link tools](https://www.segger.com/downloads/jlink/) installed
|
||||||
|
2. [gdb-multiarch](https://packages.debian.org/sid/gdb-multiarch) or similar
|
||||||
|
cross-architecture debugger installed. All commands here assume `gdb-multiarch`.
|
||||||
|
|
||||||
You can build the blinky example application with the following command
|
You can build the blinky example application with the following command
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -97,25 +150,8 @@ runner = "gdb-multiarch -q -x jlink/jlink.gdb"
|
|||||||
After that, you can simply use `cargo run --example blinky` to flash the blinky
|
After that, you can simply use `cargo run --example blinky` to flash the blinky
|
||||||
example.
|
example.
|
||||||
|
|
||||||
### Using VS Code
|
### Using the RTT Viewer
|
||||||
|
|
||||||
Assuming a working debug connection to your VA416xx board, you can debug using VS Code with
|
The Segger RTT viewer can be used to display log messages received from the target. The base
|
||||||
the [`Cortex-Debug` plugin](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug).
|
address for the RTT block placement is 0x1fff8000. It is recommended to use a search range of
|
||||||
Please make sure that [`objdump-multiarch` and `nm-multiarch`](https://forums.raspberrypi.com/viewtopic.php?t=333146)
|
0x1000 around that base address when using the RTT viewer.
|
||||||
are installed as well.
|
|
||||||
|
|
||||||
Some sample configuration files for VS code were provided and can be used by running
|
|
||||||
`cp -rT vscode .vscode` like specified above. After that, you can use `Run and Debug`
|
|
||||||
to automatically rebuild and flash your application.
|
|
||||||
|
|
||||||
If you would like to use a custom GDB application, you can specify the gdb binary in the following
|
|
||||||
configuration variables in your `settings.json`:
|
|
||||||
|
|
||||||
- `"cortex-debug.gdbPath"`
|
|
||||||
- `"cortex-debug.gdbPath.linux"`
|
|
||||||
- `"cortex-debug.gdbPath.windows"`
|
|
||||||
- `"cortex-debug.gdbPath.osx"`
|
|
||||||
|
|
||||||
The provided VS Code configurations also provide an integrated RTT logger, which you can access
|
|
||||||
via the terminal at `RTT Ch:0 console`. In order for the RTT block address detection to
|
|
||||||
work properly, `objdump-multiarch` and `nm-multiarch` need to be installed.
|
|
||||||
|
@ -20,6 +20,14 @@ cargo run --bin rtic-example
|
|||||||
|
|
||||||
## Embassy example
|
## Embassy example
|
||||||
|
|
||||||
|
Blinky with time driver IRQs in library
|
||||||
|
|
||||||
```rs
|
```rs
|
||||||
cargo run --bin embassy-example
|
cargo run --bin embassy-example
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Blinky with custom time driver IRQs
|
||||||
|
|
||||||
|
```rs
|
||||||
|
cargo run --bin embassy-example --no-default-features --features custom-irqs
|
||||||
|
```
|
||||||
|
@ -4,6 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
cfg-if = "1"
|
||||||
cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
|
cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
|
||||||
cortex-m-rt = "0.7"
|
cortex-m-rt = "0.7"
|
||||||
embedded-hal = "1"
|
embedded-hal = "1"
|
||||||
@ -13,9 +14,9 @@ rtt-target = { version = "0.5" }
|
|||||||
panic-rtt-target = { version = "0.1" }
|
panic-rtt-target = { version = "0.1" }
|
||||||
critical-section = "1"
|
critical-section = "1"
|
||||||
|
|
||||||
embassy-sync = { version = "0.6.0" }
|
embassy-sync = { version = "0.6" }
|
||||||
embassy-time = { version = "0.3.2" }
|
embassy-time = { version = "0.4" }
|
||||||
embassy-time-driver = { version = "0.1" }
|
va416xx-embassy = { path = "../../va416xx-embassy", default-features = false }
|
||||||
|
|
||||||
[dependencies.ringbuf]
|
[dependencies.ringbuf]
|
||||||
version = "0.4"
|
version = "0.4"
|
||||||
@ -27,12 +28,11 @@ default-features = false
|
|||||||
features = ["critical-section"]
|
features = ["critical-section"]
|
||||||
|
|
||||||
[dependencies.embassy-executor]
|
[dependencies.embassy-executor]
|
||||||
version = "0.6.0"
|
version = "0.7"
|
||||||
features = [
|
features = [
|
||||||
"arch-cortex-m",
|
"arch-cortex-m",
|
||||||
"executor-thread",
|
"executor-thread",
|
||||||
"executor-interrupt",
|
"executor-interrupt",
|
||||||
"integrated-timers",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[dependencies.va416xx-hal]
|
[dependencies.va416xx-hal]
|
||||||
@ -40,6 +40,7 @@ path = "../../va416xx-hal"
|
|||||||
features = ["va41630"]
|
features = ["va41630"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["ticks-hz-1_000"]
|
default = ["ticks-hz-1_000", "va416xx-embassy/irq-tim14-tim15"]
|
||||||
|
custom-irqs = []
|
||||||
ticks-hz-1_000 = ["embassy-time/tick-hz-1_000"]
|
ticks-hz-1_000 = ["embassy-time/tick-hz-1_000"]
|
||||||
ticks-hz-32_768 = ["embassy-time/tick-hz-32_768"]
|
ticks-hz-32_768 = ["embassy-time/tick-hz-32_768"]
|
||||||
|
@ -64,7 +64,7 @@ async fn main(spawner: Spawner) {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
// Safety: Only called once here.
|
// Safety: Only called once here.
|
||||||
unsafe {
|
unsafe {
|
||||||
embassy_example::init(
|
va416xx_embassy::init(
|
||||||
&mut dp.sysconfig,
|
&mut dp.sysconfig,
|
||||||
&dp.irq_router,
|
&dp.irq_router,
|
||||||
dp.tim15,
|
dp.tim15,
|
||||||
|
@ -1,6 +1,2 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
pub mod time_driver;
|
|
||||||
|
|
||||||
pub const EXTCLK_FREQ: u32 = 40_000_000;
|
pub const EXTCLK_FREQ: u32 = 40_000_000;
|
||||||
|
|
||||||
pub use time_driver::init;
|
|
||||||
|
@ -8,6 +8,13 @@ use panic_rtt_target as _;
|
|||||||
use rtt_target::{rprintln, rtt_init_print};
|
use rtt_target::{rprintln, rtt_init_print};
|
||||||
use va416xx_hal::{gpio::PinsG, pac, prelude::*, time::Hertz};
|
use va416xx_hal::{gpio::PinsG, pac, prelude::*, time::Hertz};
|
||||||
|
|
||||||
|
cfg_if::cfg_if! {
|
||||||
|
if #[cfg(feature = "custom-irqs")] {
|
||||||
|
use va416xx_hal::pac::interrupt;
|
||||||
|
va416xx_embassy::embassy_time_driver_irqs!(timekeeper_irq = TIM12, alarm_irq = TIM11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// main is itself an async function.
|
// main is itself an async function.
|
||||||
#[embassy_executor::main]
|
#[embassy_executor::main]
|
||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
@ -26,14 +33,26 @@ async fn main(_spawner: Spawner) {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
// Safety: Only called once here.
|
// Safety: Only called once here.
|
||||||
unsafe {
|
unsafe {
|
||||||
embassy_example::init(
|
cfg_if::cfg_if! {
|
||||||
&mut dp.sysconfig,
|
if #[cfg(not(feature = "custom-irqs"))] {
|
||||||
&dp.irq_router,
|
va416xx_embassy::init(
|
||||||
dp.tim15,
|
&mut dp.sysconfig,
|
||||||
dp.tim14,
|
&dp.irq_router,
|
||||||
&clocks,
|
dp.tim15,
|
||||||
)
|
dp.tim14,
|
||||||
};
|
&clocks
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
va416xx_embassy::init(
|
||||||
|
&mut dp.sysconfig,
|
||||||
|
&dp.irq_router,
|
||||||
|
dp.tim12,
|
||||||
|
dp.tim11,
|
||||||
|
&clocks
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
let portg = PinsG::new(&mut dp.sysconfig, dp.portg);
|
let portg = PinsG::new(&mut dp.sysconfig, dp.portg);
|
||||||
let mut led = portg.pg5.into_readable_push_pull_output();
|
let mut led = portg.pg5.into_readable_push_pull_output();
|
||||||
let mut ticker = Ticker::every(Duration::from_secs(1));
|
let mut ticker = Ticker::every(Duration::from_secs(1));
|
||||||
|
@ -1,323 +0,0 @@
|
|||||||
//! This is a sample time driver implementation for the VA416xx family of devices, supporting
|
|
||||||
//! one alarm and requiring/reserving 2 TIM peripherals. You could adapt this implementation to
|
|
||||||
//! support more alarms.
|
|
||||||
use core::{
|
|
||||||
cell::Cell,
|
|
||||||
mem, ptr,
|
|
||||||
sync::atomic::{AtomicU32, AtomicU8, Ordering},
|
|
||||||
};
|
|
||||||
use critical_section::CriticalSection;
|
|
||||||
use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex;
|
|
||||||
use embassy_sync::blocking_mutex::Mutex;
|
|
||||||
|
|
||||||
use embassy_time_driver::{time_driver_impl, AlarmHandle, Driver, TICK_HZ};
|
|
||||||
use once_cell::sync::OnceCell;
|
|
||||||
use va416xx_hal::{
|
|
||||||
clock::Clocks,
|
|
||||||
enable_interrupt,
|
|
||||||
irq_router::enable_and_init_irq_router,
|
|
||||||
pac::{self, interrupt},
|
|
||||||
timer::{assert_tim_reset_for_two_cycles, enable_tim_clk, ValidTim},
|
|
||||||
};
|
|
||||||
|
|
||||||
pub type TimekeeperClk = pac::Tim15;
|
|
||||||
pub type AlarmClk0 = pac::Tim14;
|
|
||||||
pub type AlarmClk1 = pac::Tim13;
|
|
||||||
pub type AlarmClk2 = pac::Tim12;
|
|
||||||
|
|
||||||
/// Initialization method for embassy
|
|
||||||
///
|
|
||||||
/// # Safety
|
|
||||||
/// This has to be called once at initialization time to initiate the time driver for
|
|
||||||
/// embassy.
|
|
||||||
pub unsafe fn init(
|
|
||||||
syscfg: &mut pac::Sysconfig,
|
|
||||||
irq_router: &pac::IrqRouter,
|
|
||||||
timekeeper: TimekeeperClk,
|
|
||||||
alarm: AlarmClk0,
|
|
||||||
clocks: &Clocks,
|
|
||||||
) {
|
|
||||||
enable_and_init_irq_router(syscfg, irq_router);
|
|
||||||
DRIVER.init(syscfg, timekeeper, alarm, clocks)
|
|
||||||
}
|
|
||||||
|
|
||||||
const fn alarm_tim(idx: usize) -> &'static pac::tim0::RegisterBlock {
|
|
||||||
// Safety: This is a static memory-mapped peripheral.
|
|
||||||
match idx {
|
|
||||||
0 => unsafe { &*AlarmClk0::ptr() },
|
|
||||||
1 => unsafe { &*AlarmClk1::ptr() },
|
|
||||||
2 => unsafe { &*AlarmClk2::ptr() },
|
|
||||||
_ => {
|
|
||||||
panic!("invalid alarm timer index")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const fn timekeeping_tim() -> &'static pac::tim0::RegisterBlock {
|
|
||||||
// Safety: This is a memory-mapped peripheral.
|
|
||||||
unsafe { &*TimekeeperClk::ptr() }
|
|
||||||
}
|
|
||||||
|
|
||||||
struct AlarmState {
|
|
||||||
timestamp: Cell<u64>,
|
|
||||||
|
|
||||||
// This is really a Option<(fn(*mut ()), *mut ())>
|
|
||||||
// but fn pointers aren't allowed in const yet
|
|
||||||
callback: Cell<*const ()>,
|
|
||||||
ctx: Cell<*mut ()>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl AlarmState {
|
|
||||||
const fn new() -> Self {
|
|
||||||
Self {
|
|
||||||
timestamp: Cell::new(u64::MAX),
|
|
||||||
callback: Cell::new(ptr::null()),
|
|
||||||
ctx: Cell::new(ptr::null_mut()),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
unsafe impl Send for AlarmState {}
|
|
||||||
|
|
||||||
const ALARM_COUNT: usize = 1;
|
|
||||||
|
|
||||||
static SCALE: OnceCell<u64> = OnceCell::new();
|
|
||||||
|
|
||||||
pub struct TimerDriverEmbassy {
|
|
||||||
periods: AtomicU32,
|
|
||||||
alarm_count: AtomicU8,
|
|
||||||
/// Timestamp at which to fire alarm. u64::MAX if no alarm is scheduled.
|
|
||||||
alarms: Mutex<CriticalSectionRawMutex, [AlarmState; ALARM_COUNT]>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TimerDriverEmbassy {
|
|
||||||
fn init(
|
|
||||||
&self,
|
|
||||||
syscfg: &mut pac::Sysconfig,
|
|
||||||
timekeeper: TimekeeperClk,
|
|
||||||
alarm_tim: AlarmClk0,
|
|
||||||
clocks: &Clocks,
|
|
||||||
) {
|
|
||||||
enable_tim_clk(syscfg, TimekeeperClk::TIM_ID);
|
|
||||||
assert_tim_reset_for_two_cycles(syscfg, TimekeeperClk::TIM_ID);
|
|
||||||
|
|
||||||
// Initiate scale value here. This is required to convert timer ticks back to a timestamp.
|
|
||||||
SCALE
|
|
||||||
.set((TimekeeperClk::clock(clocks).raw() / TICK_HZ as u32) as u64)
|
|
||||||
.unwrap();
|
|
||||||
timekeeper
|
|
||||||
.rst_value()
|
|
||||||
.write(|w| unsafe { w.bits(u32::MAX) });
|
|
||||||
// Decrementing counter.
|
|
||||||
timekeeper
|
|
||||||
.cnt_value()
|
|
||||||
.write(|w| unsafe { w.bits(u32::MAX) });
|
|
||||||
// Switch on. Timekeeping should always be done.
|
|
||||||
unsafe {
|
|
||||||
enable_interrupt(TimekeeperClk::IRQ);
|
|
||||||
}
|
|
||||||
timekeeper.ctrl().modify(|_, w| w.irq_enb().set_bit());
|
|
||||||
timekeeper.enable().write(|w| unsafe { w.bits(1) });
|
|
||||||
|
|
||||||
enable_tim_clk(syscfg, AlarmClk0::TIM_ID);
|
|
||||||
assert_tim_reset_for_two_cycles(syscfg, AlarmClk0::TIM_ID);
|
|
||||||
|
|
||||||
// Explicitely disable alarm timer until needed.
|
|
||||||
alarm_tim.ctrl().modify(|_, w| {
|
|
||||||
w.irq_enb().clear_bit();
|
|
||||||
w.enable().clear_bit()
|
|
||||||
});
|
|
||||||
// Enable general interrupts. The IRQ enable of the peripheral remains cleared.
|
|
||||||
unsafe {
|
|
||||||
enable_interrupt(AlarmClk0::IRQ);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Should be called inside the IRQ of the timekeeper timer.
|
|
||||||
fn on_interrupt_timekeeping(&self) {
|
|
||||||
self.next_period();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Should be called inside the IRQ of the alarm timer.
|
|
||||||
fn on_interrupt_alarm(&self, idx: usize) {
|
|
||||||
critical_section::with(|cs| {
|
|
||||||
if self.alarms.borrow(cs)[idx].timestamp.get() <= self.now() {
|
|
||||||
self.trigger_alarm(idx, cs)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn next_period(&self) {
|
|
||||||
let period = self.periods.fetch_add(1, Ordering::AcqRel) + 1;
|
|
||||||
let t = (period as u64) << 32;
|
|
||||||
critical_section::with(|cs| {
|
|
||||||
for i in 0..ALARM_COUNT {
|
|
||||||
let alarm = &self.alarms.borrow(cs)[i];
|
|
||||||
let at = alarm.timestamp.get();
|
|
||||||
let alarm_tim = alarm_tim(0);
|
|
||||||
if at < t {
|
|
||||||
self.trigger_alarm(i, cs);
|
|
||||||
} else {
|
|
||||||
let remaining_ticks = (at - t) * *SCALE.get().unwrap();
|
|
||||||
if remaining_ticks <= u32::MAX as u64 {
|
|
||||||
alarm_tim.enable().write(|w| unsafe { w.bits(0) });
|
|
||||||
alarm_tim
|
|
||||||
.cnt_value()
|
|
||||||
.write(|w| unsafe { w.bits(remaining_ticks as u32) });
|
|
||||||
alarm_tim.ctrl().modify(|_, w| w.irq_enb().set_bit());
|
|
||||||
alarm_tim.enable().write(|w| unsafe { w.bits(1) })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_alarm<'a>(&'a self, cs: CriticalSection<'a>, alarm: AlarmHandle) -> &'a AlarmState {
|
|
||||||
// safety: we're allowed to assume the AlarmState is created by us, and
|
|
||||||
// we never create one that's out of bounds.
|
|
||||||
unsafe { self.alarms.borrow(cs).get_unchecked(alarm.id() as usize) }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn trigger_alarm(&self, n: usize, cs: CriticalSection) {
|
|
||||||
alarm_tim(n).ctrl().modify(|_, w| {
|
|
||||||
w.irq_enb().clear_bit();
|
|
||||||
w.enable().clear_bit()
|
|
||||||
});
|
|
||||||
|
|
||||||
let alarm = &self.alarms.borrow(cs)[n];
|
|
||||||
// Setting the maximum value disables the alarm.
|
|
||||||
alarm.timestamp.set(u64::MAX);
|
|
||||||
|
|
||||||
// Call after clearing alarm, so the callback can set another alarm.
|
|
||||||
|
|
||||||
// safety:
|
|
||||||
// - we can ignore the possiblity of `f` being unset (null) because of the safety contract of `allocate_alarm`.
|
|
||||||
// - other than that we only store valid function pointers into alarm.callback
|
|
||||||
let f: fn(*mut ()) = unsafe { mem::transmute(alarm.callback.get()) };
|
|
||||||
f(alarm.ctx.get());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Driver for TimerDriverEmbassy {
|
|
||||||
fn now(&self) -> u64 {
|
|
||||||
if SCALE.get().is_none() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
let mut period1: u32;
|
|
||||||
let mut period2: u32;
|
|
||||||
let mut counter_val: u32;
|
|
||||||
|
|
||||||
loop {
|
|
||||||
// Acquire ensures that we get the latest value of `periods` and
|
|
||||||
// no instructions can be reordered before the load.
|
|
||||||
period1 = self.periods.load(Ordering::Acquire);
|
|
||||||
|
|
||||||
counter_val = u32::MAX - timekeeping_tim().cnt_value().read().bits();
|
|
||||||
|
|
||||||
// Double read to protect against race conditions when the counter is overflowing.
|
|
||||||
period2 = self.periods.load(Ordering::Relaxed);
|
|
||||||
if period1 == period2 {
|
|
||||||
let now = (((period1 as u64) << 32) | counter_val as u64) / *SCALE.get().unwrap();
|
|
||||||
return now;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
unsafe fn allocate_alarm(&self) -> Option<AlarmHandle> {
|
|
||||||
let id = self
|
|
||||||
.alarm_count
|
|
||||||
.fetch_update(Ordering::AcqRel, Ordering::Acquire, |x| {
|
|
||||||
if x < ALARM_COUNT as u8 {
|
|
||||||
Some(x + 1)
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
match id {
|
|
||||||
Ok(id) => Some(AlarmHandle::new(id)),
|
|
||||||
Err(_) => None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn set_alarm_callback(
|
|
||||||
&self,
|
|
||||||
alarm: embassy_time_driver::AlarmHandle,
|
|
||||||
callback: fn(*mut ()),
|
|
||||||
ctx: *mut (),
|
|
||||||
) {
|
|
||||||
critical_section::with(|cs| {
|
|
||||||
let alarm = self.get_alarm(cs, alarm);
|
|
||||||
|
|
||||||
alarm.callback.set(callback as *const ());
|
|
||||||
alarm.ctx.set(ctx);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn set_alarm(&self, alarm: embassy_time_driver::AlarmHandle, timestamp: u64) -> bool {
|
|
||||||
if SCALE.get().is_none() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
critical_section::with(|cs| {
|
|
||||||
let n = alarm.id();
|
|
||||||
let alarm_tim = alarm_tim(n.into());
|
|
||||||
alarm_tim.ctrl().modify(|_, w| {
|
|
||||||
w.irq_enb().clear_bit();
|
|
||||||
w.enable().clear_bit()
|
|
||||||
});
|
|
||||||
|
|
||||||
let alarm = self.get_alarm(cs, alarm);
|
|
||||||
alarm.timestamp.set(timestamp);
|
|
||||||
|
|
||||||
let t = self.now();
|
|
||||||
if timestamp <= t {
|
|
||||||
alarm.timestamp.set(u64::MAX);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If it hasn't triggered yet, setup the relevant reset value, regardless of whether
|
|
||||||
// the interrupts are enabled or not. When they are enabled at a later point, the
|
|
||||||
// right value is already set.
|
|
||||||
|
|
||||||
// If the timestamp is in the next few ticks, add a bit of buffer to be sure the alarm
|
|
||||||
// is not missed.
|
|
||||||
//
|
|
||||||
// This means that an alarm can be delayed for up to 2 ticks (from t+1 to t+3), but this is allowed
|
|
||||||
// by the Alarm trait contract. What's not allowed is triggering alarms *before* their scheduled time,
|
|
||||||
// and we don't do that here.
|
|
||||||
let safe_timestamp = timestamp.max(t + 3);
|
|
||||||
let timer_ticks = (safe_timestamp - t) * *SCALE.get().unwrap();
|
|
||||||
alarm_tim.rst_value().write(|w| unsafe { w.bits(u32::MAX) });
|
|
||||||
if timer_ticks <= u32::MAX as u64 {
|
|
||||||
alarm_tim
|
|
||||||
.cnt_value()
|
|
||||||
.write(|w| unsafe { w.bits(timer_ticks as u32) });
|
|
||||||
alarm_tim.ctrl().modify(|_, w| w.irq_enb().set_bit());
|
|
||||||
alarm_tim.enable().write(|w| unsafe { w.bits(1) });
|
|
||||||
}
|
|
||||||
// If it's too far in the future, don't enable timer yet.
|
|
||||||
// It will be enabled later by `next_period`.
|
|
||||||
|
|
||||||
true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
time_driver_impl!(
|
|
||||||
static DRIVER: TimerDriverEmbassy = TimerDriverEmbassy {
|
|
||||||
periods: AtomicU32::new(0),
|
|
||||||
alarm_count: AtomicU8::new(0),
|
|
||||||
alarms: Mutex::const_new(CriticalSectionRawMutex::new(), [AlarmState::new(); ALARM_COUNT])
|
|
||||||
});
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
#[allow(non_snake_case)]
|
|
||||||
fn TIM15() {
|
|
||||||
DRIVER.on_interrupt_timekeeping()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[interrupt]
|
|
||||||
#[allow(non_snake_case)]
|
|
||||||
fn TIM14() {
|
|
||||||
DRIVER.on_interrupt_alarm(0)
|
|
||||||
}
|
|
@ -15,6 +15,7 @@ rtt-log = "0.3"
|
|||||||
log = "0.4"
|
log = "0.4"
|
||||||
crc = "3"
|
crc = "3"
|
||||||
rtic-sync = "1"
|
rtic-sync = "1"
|
||||||
|
static_cell = "2"
|
||||||
|
|
||||||
[dependencies.satrs]
|
[dependencies.satrs]
|
||||||
version = "0.2"
|
version = "0.2"
|
||||||
|
@ -52,11 +52,11 @@ impl WdtInterface for OptWdt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
use once_cell::sync::Lazy;
|
|
||||||
use ringbuf::{
|
use ringbuf::{
|
||||||
traits::{Consumer, Observer, Producer, SplitRef},
|
traits::{Consumer, Observer, Producer, SplitRef},
|
||||||
CachingCons, StaticProd, StaticRb,
|
CachingCons, StaticProd, StaticRb,
|
||||||
};
|
};
|
||||||
|
use static_cell::StaticCell;
|
||||||
|
|
||||||
// Larger buffer for TC to be able to hold the possibly large memory write packets.
|
// Larger buffer for TC to be able to hold the possibly large memory write packets.
|
||||||
const BUF_RB_SIZE_TC: usize = 2048;
|
const BUF_RB_SIZE_TC: usize = 2048;
|
||||||
@ -66,16 +66,12 @@ const BUF_RB_SIZE_TM: usize = 512;
|
|||||||
const SIZES_RB_SIZE_TM: usize = 16;
|
const SIZES_RB_SIZE_TM: usize = 16;
|
||||||
|
|
||||||
// Ring buffers to handling variable sized telemetry
|
// Ring buffers to handling variable sized telemetry
|
||||||
static mut BUF_RB_TM: Lazy<StaticRb<u8, BUF_RB_SIZE_TM>> =
|
static BUF_RB_TM: StaticCell<StaticRb<u8, BUF_RB_SIZE_TM>> = StaticCell::new();
|
||||||
Lazy::new(StaticRb::<u8, BUF_RB_SIZE_TM>::default);
|
static SIZES_RB_TM: StaticCell<StaticRb<usize, SIZES_RB_SIZE_TM>> = StaticCell::new();
|
||||||
static mut SIZES_RB_TM: Lazy<StaticRb<usize, SIZES_RB_SIZE_TM>> =
|
|
||||||
Lazy::new(StaticRb::<usize, SIZES_RB_SIZE_TM>::default);
|
|
||||||
|
|
||||||
// Ring buffers to handling variable sized telecommands
|
// Ring buffers to handling variable sized telecommands
|
||||||
static mut BUF_RB_TC: Lazy<StaticRb<u8, BUF_RB_SIZE_TC>> =
|
static BUF_RB_TC: StaticCell<StaticRb<u8, BUF_RB_SIZE_TC>> = StaticCell::new();
|
||||||
Lazy::new(StaticRb::<u8, BUF_RB_SIZE_TC>::default);
|
static SIZES_RB_TC: StaticCell<StaticRb<usize, SIZES_RB_SIZE_TC>> = StaticCell::new();
|
||||||
static mut SIZES_RB_TC: Lazy<StaticRb<usize, SIZES_RB_SIZE_TC>> =
|
|
||||||
Lazy::new(StaticRb::<usize, SIZES_RB_SIZE_TC>::default);
|
|
||||||
|
|
||||||
pub struct DataProducer<const BUF_SIZE: usize, const SIZES_LEN: usize> {
|
pub struct DataProducer<const BUF_SIZE: usize, const SIZES_LEN: usize> {
|
||||||
pub buf_prod: StaticProd<'static, u8, BUF_SIZE>,
|
pub buf_prod: StaticProd<'static, u8, BUF_SIZE>,
|
||||||
@ -166,6 +162,7 @@ mod app {
|
|||||||
.xtal_n_clk_with_src_freq(Hertz::from_raw(EXTCLK_FREQ))
|
.xtal_n_clk_with_src_freq(Hertz::from_raw(EXTCLK_FREQ))
|
||||||
.freeze(&mut cx.device.sysconfig)
|
.freeze(&mut cx.device.sysconfig)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
enable_and_init_irq_router(&mut cx.device.sysconfig, &cx.device.irq_router);
|
enable_and_init_irq_router(&mut cx.device.sysconfig, &cx.device.irq_router);
|
||||||
setup_edac(&mut cx.device.sysconfig);
|
setup_edac(&mut cx.device.sysconfig);
|
||||||
|
|
||||||
@ -184,11 +181,19 @@ mod app {
|
|||||||
|
|
||||||
let verif_reporter = VerificationReportCreator::new(0).unwrap();
|
let verif_reporter = VerificationReportCreator::new(0).unwrap();
|
||||||
|
|
||||||
let (buf_prod_tm, buf_cons_tm) = unsafe { BUF_RB_TM.split_ref() };
|
let (buf_prod_tm, buf_cons_tm) = BUF_RB_TM
|
||||||
let (sizes_prod_tm, sizes_cons_tm) = unsafe { SIZES_RB_TM.split_ref() };
|
.init(StaticRb::<u8, BUF_RB_SIZE_TM>::default())
|
||||||
|
.split_ref();
|
||||||
|
let (sizes_prod_tm, sizes_cons_tm) = SIZES_RB_TM
|
||||||
|
.init(StaticRb::<usize, SIZES_RB_SIZE_TM>::default())
|
||||||
|
.split_ref();
|
||||||
|
|
||||||
let (buf_prod_tc, buf_cons_tc) = unsafe { BUF_RB_TC.split_ref() };
|
let (buf_prod_tc, buf_cons_tc) = BUF_RB_TC
|
||||||
let (sizes_prod_tc, sizes_cons_tc) = unsafe { SIZES_RB_TC.split_ref() };
|
.init(StaticRb::<u8, BUF_RB_SIZE_TC>::default())
|
||||||
|
.split_ref();
|
||||||
|
let (sizes_prod_tc, sizes_cons_tc) = SIZES_RB_TC
|
||||||
|
.init(StaticRb::<usize, SIZES_RB_SIZE_TC>::default())
|
||||||
|
.split_ref();
|
||||||
|
|
||||||
Mono::start(cx.core.SYST, clocks.sysclk().raw());
|
Mono::start(cx.core.SYST, clocks.sysclk().raw());
|
||||||
CLOCKS.set(clocks).unwrap();
|
CLOCKS.set(clocks).unwrap();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
target remote localhost:2331
|
target remote localhost:2331
|
||||||
|
|
||||||
monitor halt
|
monitor reset
|
||||||
|
|
||||||
# *try* to stop at the user entry point (it might be gone due to inlining)
|
# *try* to stop at the user entry point (it might be gone due to inlining)
|
||||||
break main
|
break main
|
||||||
|
13
va416xx-embassy/CHANGELOG.md
Normal file
13
va416xx-embassy/CHANGELOG.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Change Log
|
||||||
|
=======
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||||
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
## [unreleased]
|
||||||
|
|
||||||
|
## [v0.1.0] 2025-02-13
|
||||||
|
|
||||||
|
Initial release
|
37
va416xx-embassy/Cargo.toml
Normal file
37
va416xx-embassy/Cargo.toml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[package]
|
||||||
|
name = "va416xx-embassy"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
|
description = "Embassy-rs support for the Vorago VA416xx family of microcontrollers"
|
||||||
|
homepage = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
|
repository = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
|
license = "Apache-2.0"
|
||||||
|
keywords = ["no-std", "hal", "cortex-m", "vorago", "va416xx"]
|
||||||
|
categories = ["aerospace", "embedded", "no-std", "hardware-support"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
critical-section = "1"
|
||||||
|
|
||||||
|
embassy-sync = "0.6"
|
||||||
|
embassy-executor = "0.7"
|
||||||
|
embassy-time-driver = "0.2"
|
||||||
|
embassy-time-queue-utils = "0.1"
|
||||||
|
portable-atomic = "1"
|
||||||
|
|
||||||
|
once_cell = { version = "1", default-features = false, features = ["critical-section"] }
|
||||||
|
|
||||||
|
va416xx-hal = { version = "0.3", path = "../va416xx-hal" }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["irq-tim14-tim15"]
|
||||||
|
irqs-in-lib = []
|
||||||
|
# This determines the reserved interrupt functions for the embassy time drivers. Only one
|
||||||
|
# is allowed to be selected!
|
||||||
|
irq-tim14-tim15 = ["irqs-in-lib"]
|
||||||
|
irq-tim13-tim14 = ["irqs-in-lib"]
|
||||||
|
# These TIMs are clocked slower!
|
||||||
|
irq-tim22-tim23 = ["irqs-in-lib"]
|
||||||
|
|
||||||
|
[package.metadata.docs.rs]
|
||||||
|
rustdoc-args = ["--generate-link-to-definition"]
|
10
va416xx-embassy/README.md
Normal file
10
va416xx-embassy/README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[](https://crates.io/crates/va416xx-embassy)
|
||||||
|
[](https://docs.rs/va416xx-embassy)
|
||||||
|
|
||||||
|
# Embassy-rs support for the Vorago VA416xx MCU family
|
||||||
|
|
||||||
|
This repository contains the [embassy-rs](https://github.com/embassy-rs/embassy) support for the
|
||||||
|
VA416xx family. Currently, it contains the time driver to allow using embassy-rs. It uses the TIM
|
||||||
|
peripherals provided by the VA416xx family for this purpose.
|
||||||
|
|
||||||
|
The documentation contains more information on how to use this crate.
|
3
va416xx-embassy/docs.sh
Normal file
3
va416xx-embassy/docs.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
export RUSTDOCFLAGS="--cfg docsrs --generate-link-to-definition -Z unstable-options"
|
||||||
|
cargo +nightly doc --open
|
398
va416xx-embassy/src/lib.rs
Normal file
398
va416xx-embassy/src/lib.rs
Normal file
@ -0,0 +1,398 @@
|
|||||||
|
//! # Embassy-rs support for the Vorago VA416xx MCU family
|
||||||
|
//!
|
||||||
|
//! This repository contains the [embassy-rs](https://github.com/embassy-rs/embassy) support for the
|
||||||
|
//! VA416xx family. Currently, it contains the time driver to allow using embassy-rs. It uses the TIM
|
||||||
|
//! peripherals provided by the VA416xx family for this purpose.
|
||||||
|
//!
|
||||||
|
//! ## Usage
|
||||||
|
//!
|
||||||
|
//! This library only exposes the [embassy::init] method which sets up the time driver. This
|
||||||
|
//! function must be called once at the start of the application.
|
||||||
|
//!
|
||||||
|
//! This implementation requires two TIM peripherals provided by the VA108xx device.
|
||||||
|
//! The user can freely specify the two used TIM peripheral by passing the concrete TIM instances
|
||||||
|
//! into the [init] method. If the interrupt handlers are provided by the library, the ID of the
|
||||||
|
//! used TIM peripherals has to match the ID of the passed timer peripherals. Currently, this
|
||||||
|
//! can only be checked at run-time, and a run-time assertion will panic on the embassy
|
||||||
|
//! initialization in case of a missmatch.
|
||||||
|
//!
|
||||||
|
//! The application also requires two interrupt handlers to handle the timekeeper and alarm
|
||||||
|
//! interrupts. By default, this library will define the interrupt handler inside the library
|
||||||
|
//! itself by using the `irq-tim14-tim15` feature flag. This library exposes three combinations:
|
||||||
|
//!
|
||||||
|
//! - `irq-tim14-tim15`: Uses [pac::Interrupt::TIM14] for alarm and [pac::Interrupt::TIM15]
|
||||||
|
//! for timekeeper
|
||||||
|
//! - `irq-tim13-tim14`: Uses [pac::Interrupt::TIM13] for alarm and [pac::Interrupt::TIM14]
|
||||||
|
//! for timekeeper
|
||||||
|
//! - `irq-tim22-tim23`: Uses [pac::Interrupt::TIM22] for alarm and [pac::Interrupt::TIM23]
|
||||||
|
//! for timekeeper
|
||||||
|
//!
|
||||||
|
//! You can disable the default features and then specify one of the features above to use the
|
||||||
|
//! documented combination of IRQs. It is also possible to specify custom IRQs by importing and
|
||||||
|
//! using the [embassy_time_driver_irqs] macro to declare the IRQ handlers in the
|
||||||
|
//! application code. If this is done, [embassy::init_with_custom_irqs] must be used
|
||||||
|
//! method to pass the IRQ numbers to the library.
|
||||||
|
//!
|
||||||
|
//! ## Examples
|
||||||
|
//!
|
||||||
|
//! [embassy example projects](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/embassy)
|
||||||
|
#![no_std]
|
||||||
|
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
||||||
|
use core::{
|
||||||
|
cell::{Cell, RefCell},
|
||||||
|
sync::atomic::{AtomicU32, Ordering},
|
||||||
|
};
|
||||||
|
|
||||||
|
use critical_section::{CriticalSection, Mutex};
|
||||||
|
|
||||||
|
use embassy_time_driver::{time_driver_impl, Driver, TICK_HZ};
|
||||||
|
use embassy_time_queue_utils::Queue;
|
||||||
|
use once_cell::sync::OnceCell;
|
||||||
|
use va416xx_hal::{
|
||||||
|
clock::Clocks,
|
||||||
|
enable_interrupt,
|
||||||
|
irq_router::enable_and_init_irq_router,
|
||||||
|
pac::{self, interrupt},
|
||||||
|
pwm::ValidTim,
|
||||||
|
timer::{
|
||||||
|
assert_tim_reset_for_two_cycles, enable_tim_clk, get_tim_raw, TimRegInterface,
|
||||||
|
TIM_IRQ_OFFSET,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
time_driver_impl!(
|
||||||
|
static TIME_DRIVER: TimerDriver = TimerDriver {
|
||||||
|
periods: AtomicU32::new(0),
|
||||||
|
alarms: Mutex::new(AlarmState::new()),
|
||||||
|
queue: Mutex::new(RefCell::new(Queue::new())),
|
||||||
|
});
|
||||||
|
|
||||||
|
/// Macro to define the IRQ handlers for the time driver.
|
||||||
|
///
|
||||||
|
/// By default, the code generated by this macro will be defined inside the library depending on
|
||||||
|
/// the feature flags specified. However, the macro is exported to allow users to specify the
|
||||||
|
/// interrupt handlers themselves.
|
||||||
|
///
|
||||||
|
/// Please note that you have to explicitely import the [macro@va108xx_hal::pac::interrupt]
|
||||||
|
/// macro in the application code in case this macro is used there.
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! embassy_time_driver_irqs {
|
||||||
|
(
|
||||||
|
timekeeper_irq = $timekeeper_irq:ident,
|
||||||
|
alarm_irq = $alarm_irq:ident
|
||||||
|
) => {
|
||||||
|
const TIMEKEEPER_IRQ: pac::Interrupt = pac::Interrupt::$timekeeper_irq;
|
||||||
|
|
||||||
|
#[interrupt]
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
fn $timekeeper_irq() {
|
||||||
|
// Safety: We call it once here.
|
||||||
|
unsafe { $crate::time_driver().on_interrupt_timekeeping() }
|
||||||
|
}
|
||||||
|
|
||||||
|
const ALARM_IRQ: pac::Interrupt = pac::Interrupt::$alarm_irq;
|
||||||
|
|
||||||
|
#[interrupt]
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
fn $alarm_irq() {
|
||||||
|
// Safety: We call it once here.
|
||||||
|
unsafe { $crate::time_driver().on_interrupt_alarm() }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Provide three combinations of IRQs for the time driver by default.
|
||||||
|
|
||||||
|
#[cfg(feature = "irq-tim14-tim15")]
|
||||||
|
embassy_time_driver_irqs!(timekeeper_irq = TIM15, alarm_irq = TIM14);
|
||||||
|
#[cfg(feature = "irq-tim13-tim14")]
|
||||||
|
embassy_time_driver_irqs!(timekeeper_irq = TIM14, alarm_irq = TIM13);
|
||||||
|
#[cfg(feature = "irq-tim22-tim23")]
|
||||||
|
embassy_time_driver_irqs!(timekeeper_irq = TIM23, alarm_irq = TIM22);
|
||||||
|
|
||||||
|
/// Expose the time driver so the user can specify the IRQ handlers themselves.
|
||||||
|
pub fn time_driver() -> &'static TimerDriver {
|
||||||
|
&TIME_DRIVER
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Initialization method for embassy
|
||||||
|
///
|
||||||
|
/// If the interrupt handlers are provided by the library, the ID of the
|
||||||
|
/// used TIM peripherals has to match the ID of the passed timer peripherals. Currently, this
|
||||||
|
/// can only be checked at run-time, and a run-time assertion will panic on the embassy
|
||||||
|
/// initialization in case of a missmatch.
|
||||||
|
///
|
||||||
|
/// # Safety
|
||||||
|
///
|
||||||
|
/// This has to be called once at initialization time to initiate the time driver for
|
||||||
|
/// embassy.
|
||||||
|
pub unsafe fn init<
|
||||||
|
TimekeeperTim: TimRegInterface + ValidTim,
|
||||||
|
AlarmTim: TimRegInterface + ValidTim,
|
||||||
|
>(
|
||||||
|
syscfg: &mut pac::Sysconfig,
|
||||||
|
irq_router: &pac::IrqRouter,
|
||||||
|
timekeeper: TimekeeperTim,
|
||||||
|
alarm: AlarmTim,
|
||||||
|
clocks: &Clocks,
|
||||||
|
) {
|
||||||
|
#[cfg(feature = "irqs-in-lib")]
|
||||||
|
assert_eq!(
|
||||||
|
TimekeeperTim::ID,
|
||||||
|
TIMEKEEPER_IRQ as u8 - TIM_IRQ_OFFSET as u8,
|
||||||
|
"Timekeeper TIM and IRQ missmatch"
|
||||||
|
);
|
||||||
|
#[cfg(feature = "irqs-in-lib")]
|
||||||
|
assert_eq!(
|
||||||
|
AlarmTim::ID,
|
||||||
|
ALARM_IRQ as u8 - TIM_IRQ_OFFSET as u8,
|
||||||
|
"Alarm TIM and IRQ missmatch"
|
||||||
|
);
|
||||||
|
enable_and_init_irq_router(syscfg, irq_router);
|
||||||
|
TIME_DRIVER.init(syscfg, timekeeper, alarm, clocks)
|
||||||
|
}
|
||||||
|
|
||||||
|
struct AlarmState {
|
||||||
|
timestamp: Cell<u64>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl AlarmState {
|
||||||
|
const fn new() -> Self {
|
||||||
|
Self {
|
||||||
|
timestamp: Cell::new(u64::MAX),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unsafe impl Send for AlarmState {}
|
||||||
|
|
||||||
|
static SCALE: OnceCell<u64> = OnceCell::new();
|
||||||
|
static TIMEKEEPER_TIM: OnceCell<u8> = OnceCell::new();
|
||||||
|
static ALARM_TIM: OnceCell<u8> = OnceCell::new();
|
||||||
|
|
||||||
|
pub struct TimerDriver {
|
||||||
|
periods: AtomicU32,
|
||||||
|
/// Timestamp at which to fire alarm. u64::MAX if no alarm is scheduled.
|
||||||
|
alarms: Mutex<AlarmState>,
|
||||||
|
queue: Mutex<RefCell<Queue>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TimerDriver {
|
||||||
|
fn init<TimekeeperTim: TimRegInterface + ValidTim, AlarmTim: TimRegInterface + ValidTim>(
|
||||||
|
&self,
|
||||||
|
syscfg: &mut pac::Sysconfig,
|
||||||
|
timekeeper_tim: TimekeeperTim,
|
||||||
|
alarm_tim: AlarmTim,
|
||||||
|
clocks: &Clocks,
|
||||||
|
) {
|
||||||
|
if ALARM_TIM.get().is_some() || TIMEKEEPER_TIM.get().is_some() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ALARM_TIM.set(alarm_tim.tim_id()).ok();
|
||||||
|
TIMEKEEPER_TIM.set(timekeeper_tim.tim_id()).ok();
|
||||||
|
enable_tim_clk(syscfg, timekeeper_tim.tim_id());
|
||||||
|
assert_tim_reset_for_two_cycles(syscfg, alarm_tim.tim_id());
|
||||||
|
|
||||||
|
// Initiate scale value here. This is required to convert timer ticks back to a timestamp.
|
||||||
|
SCALE
|
||||||
|
.set((TimekeeperTim::clock(clocks).raw() / TICK_HZ as u32) as u64)
|
||||||
|
.unwrap();
|
||||||
|
let timekeeper_tim_regs = timekeeper_tim.reg_block();
|
||||||
|
timekeeper_tim_regs
|
||||||
|
.rst_value()
|
||||||
|
.write(|w| unsafe { w.bits(u32::MAX) });
|
||||||
|
// Decrementing counter.
|
||||||
|
timekeeper_tim_regs
|
||||||
|
.cnt_value()
|
||||||
|
.write(|w| unsafe { w.bits(u32::MAX) });
|
||||||
|
// Switch on. Timekeeping should always be done.
|
||||||
|
unsafe {
|
||||||
|
enable_interrupt(TimekeeperTim::IRQ);
|
||||||
|
}
|
||||||
|
timekeeper_tim_regs
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.irq_enb().set_bit());
|
||||||
|
timekeeper_tim_regs.enable().write(|w| unsafe { w.bits(1) });
|
||||||
|
|
||||||
|
enable_tim_clk(syscfg, AlarmTim::ID);
|
||||||
|
assert_tim_reset_for_two_cycles(syscfg, AlarmTim::ID);
|
||||||
|
let alarm_tim_regs = alarm_tim.reg_block();
|
||||||
|
// Explicitely disable alarm timer until needed.
|
||||||
|
alarm_tim_regs.ctrl().modify(|_, w| {
|
||||||
|
w.irq_enb().clear_bit();
|
||||||
|
w.enable().clear_bit()
|
||||||
|
});
|
||||||
|
// Enable general interrupts. The IRQ enable of the peripheral remains cleared.
|
||||||
|
unsafe {
|
||||||
|
enable_interrupt(AlarmTim::IRQ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn timekeeper_tim() -> &'static pac::tim0::RegisterBlock {
|
||||||
|
TIMEKEEPER_TIM
|
||||||
|
.get()
|
||||||
|
.map(|idx| unsafe { get_tim_raw(*idx as usize) })
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
fn alarm_tim() -> &'static pac::tim0::RegisterBlock {
|
||||||
|
ALARM_TIM
|
||||||
|
.get()
|
||||||
|
.map(|idx| unsafe { get_tim_raw(*idx as usize) })
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Should be called inside the IRQ of the timekeeper timer.
|
||||||
|
///
|
||||||
|
/// # Safety
|
||||||
|
///
|
||||||
|
/// This function has to be called once by the TIM IRQ used for the timekeeping.
|
||||||
|
pub unsafe fn on_interrupt_timekeeping(&self) {
|
||||||
|
self.next_period();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Should be called inside the IRQ of the alarm timer.
|
||||||
|
///
|
||||||
|
/// # Safety
|
||||||
|
///
|
||||||
|
///This function has to be called once by the TIM IRQ used for the timekeeping.
|
||||||
|
pub unsafe fn on_interrupt_alarm(&self) {
|
||||||
|
critical_section::with(|cs| {
|
||||||
|
if self.alarms.borrow(cs).timestamp.get() <= self.now() {
|
||||||
|
self.trigger_alarm(cs)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fn next_period(&self) {
|
||||||
|
let period = self.periods.fetch_add(1, Ordering::AcqRel) + 1;
|
||||||
|
let t = (period as u64) << 32;
|
||||||
|
critical_section::with(|cs| {
|
||||||
|
let alarm = &self.alarms.borrow(cs);
|
||||||
|
let at = alarm.timestamp.get();
|
||||||
|
if at < t {
|
||||||
|
self.trigger_alarm(cs);
|
||||||
|
} else {
|
||||||
|
let alarm_tim = Self::alarm_tim();
|
||||||
|
|
||||||
|
let remaining_ticks = (at - t) * *SCALE.get().unwrap();
|
||||||
|
if remaining_ticks <= u32::MAX as u64 {
|
||||||
|
alarm_tim.enable().write(|w| unsafe { w.bits(0) });
|
||||||
|
alarm_tim
|
||||||
|
.cnt_value()
|
||||||
|
.write(|w| unsafe { w.bits(remaining_ticks as u32) });
|
||||||
|
alarm_tim.ctrl().modify(|_, w| w.irq_enb().set_bit());
|
||||||
|
alarm_tim.enable().write(|w| unsafe { w.bits(1) });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fn trigger_alarm(&self, cs: CriticalSection) {
|
||||||
|
Self::alarm_tim().ctrl().modify(|_, w| {
|
||||||
|
w.irq_enb().clear_bit();
|
||||||
|
w.enable().clear_bit()
|
||||||
|
});
|
||||||
|
|
||||||
|
let alarm = &self.alarms.borrow(cs);
|
||||||
|
// Setting the maximum value disables the alarm.
|
||||||
|
alarm.timestamp.set(u64::MAX);
|
||||||
|
|
||||||
|
// Call after clearing alarm, so the callback can set another alarm.
|
||||||
|
let mut next = self
|
||||||
|
.queue
|
||||||
|
.borrow(cs)
|
||||||
|
.borrow_mut()
|
||||||
|
.next_expiration(self.now());
|
||||||
|
while !self.set_alarm(cs, next) {
|
||||||
|
next = self
|
||||||
|
.queue
|
||||||
|
.borrow(cs)
|
||||||
|
.borrow_mut()
|
||||||
|
.next_expiration(self.now());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_alarm(&self, cs: CriticalSection, timestamp: u64) -> bool {
|
||||||
|
if SCALE.get().is_none() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let alarm_tim = Self::alarm_tim();
|
||||||
|
alarm_tim.ctrl().modify(|_, w| {
|
||||||
|
w.irq_enb().clear_bit();
|
||||||
|
w.enable().clear_bit()
|
||||||
|
});
|
||||||
|
|
||||||
|
let alarm = self.alarms.borrow(cs);
|
||||||
|
alarm.timestamp.set(timestamp);
|
||||||
|
|
||||||
|
let t = self.now();
|
||||||
|
if timestamp <= t {
|
||||||
|
alarm.timestamp.set(u64::MAX);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If it hasn't triggered yet, setup the relevant reset value, regardless of whether
|
||||||
|
// the interrupts are enabled or not. When they are enabled at a later point, the
|
||||||
|
// right value is already set.
|
||||||
|
|
||||||
|
// If the timestamp is in the next few ticks, add a bit of buffer to be sure the alarm
|
||||||
|
// is not missed.
|
||||||
|
//
|
||||||
|
// This means that an alarm can be delayed for up to 2 ticks (from t+1 to t+3), but this is allowed
|
||||||
|
// by the Alarm trait contract. What's not allowed is triggering alarms *before* their scheduled time,
|
||||||
|
// and we don't do that here.
|
||||||
|
let safe_timestamp = timestamp.max(t + 3);
|
||||||
|
let timer_ticks = (safe_timestamp - t).checked_mul(*SCALE.get().unwrap());
|
||||||
|
alarm_tim.rst_value().write(|w| unsafe { w.bits(u32::MAX) });
|
||||||
|
if timer_ticks.is_some_and(|v| v <= u32::MAX as u64) {
|
||||||
|
alarm_tim
|
||||||
|
.cnt_value()
|
||||||
|
.write(|w| unsafe { w.bits(timer_ticks.unwrap() as u32) });
|
||||||
|
alarm_tim.ctrl().modify(|_, w| w.irq_enb().set_bit());
|
||||||
|
alarm_tim.enable().write(|w| unsafe { w.bits(1) });
|
||||||
|
}
|
||||||
|
// If it's too far in the future, don't enable timer yet.
|
||||||
|
// It will be enabled later by `next_period`.
|
||||||
|
|
||||||
|
true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Driver for TimerDriver {
|
||||||
|
fn now(&self) -> u64 {
|
||||||
|
if SCALE.get().is_none() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
let mut period1: u32;
|
||||||
|
let mut period2: u32;
|
||||||
|
let mut counter_val: u32;
|
||||||
|
|
||||||
|
loop {
|
||||||
|
// Acquire ensures that we get the latest value of `periods` and
|
||||||
|
// no instructions can be reordered before the load.
|
||||||
|
period1 = self.periods.load(Ordering::Acquire);
|
||||||
|
|
||||||
|
counter_val = u32::MAX - Self::timekeeper_tim().cnt_value().read().bits();
|
||||||
|
|
||||||
|
// Double read to protect against race conditions when the counter is overflowing.
|
||||||
|
period2 = self.periods.load(Ordering::Relaxed);
|
||||||
|
if period1 == period2 {
|
||||||
|
let now = (((period1 as u64) << 32) | counter_val as u64) / *SCALE.get().unwrap();
|
||||||
|
return now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn schedule_wake(&self, at: u64, waker: &core::task::Waker) {
|
||||||
|
critical_section::with(|cs| {
|
||||||
|
let mut queue = self.queue.borrow(cs).borrow_mut();
|
||||||
|
|
||||||
|
if queue.schedule_wake(at, waker) {
|
||||||
|
let mut next = queue.next_expiration(self.now());
|
||||||
|
while !self.set_alarm(cs, next) {
|
||||||
|
next = queue.next_expiration(self.now());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
@ -25,14 +25,11 @@ bitfield = "0.17"
|
|||||||
defmt = { version = "0.3", optional = true }
|
defmt = { version = "0.3", optional = true }
|
||||||
fugit = "0.3"
|
fugit = "0.3"
|
||||||
delegate = "0.12"
|
delegate = "0.12"
|
||||||
|
void = { version = "1", default-features = false }
|
||||||
[dependencies.void]
|
|
||||||
version = "1"
|
|
||||||
default-features = false
|
|
||||||
|
|
||||||
[dependencies.va416xx]
|
[dependencies.va416xx]
|
||||||
default-features = false
|
default-features = false
|
||||||
version = "0.2"
|
version = "0.3"
|
||||||
features = ["critical-section"]
|
features = ["critical-section"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -431,7 +431,9 @@ impl ClkgenCfgr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None => self.clkgen.ctrl0().modify(|_, w| w.pll_pwdn().set_bit()),
|
None => {
|
||||||
|
self.clkgen.ctrl0().modify(|_, w| w.pll_pwdn().set_bit());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.clk_lost_detection {
|
if self.clk_lost_detection {
|
||||||
|
@ -4,21 +4,21 @@ use crate::{enable_interrupt, pac};
|
|||||||
pub fn enable_rom_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
pub fn enable_rom_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
||||||
syscfg
|
syscfg
|
||||||
.rom_scrub()
|
.rom_scrub()
|
||||||
.write(|w| unsafe { w.bits(counter_reset as u32) })
|
.write(|w| unsafe { w.bits(counter_reset as u32) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn enable_ram0_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
pub fn enable_ram0_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
||||||
syscfg
|
syscfg
|
||||||
.ram0_scrub()
|
.ram0_scrub()
|
||||||
.write(|w| unsafe { w.bits(counter_reset as u32) })
|
.write(|w| unsafe { w.bits(counter_reset as u32) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn enable_ram1_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
pub fn enable_ram1_scrub(syscfg: &mut pac::Sysconfig, counter_reset: u16) {
|
||||||
syscfg
|
syscfg
|
||||||
.ram1_scrub()
|
.ram1_scrub()
|
||||||
.write(|w| unsafe { w.bits(counter_reset as u32) })
|
.write(|w| unsafe { w.bits(counter_reset as u32) });
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This function enables the SBE related interrupts. The user should also provide a
|
/// This function enables the SBE related interrupts. The user should also provide a
|
||||||
|
@ -321,7 +321,6 @@ macro_rules! pin_id {
|
|||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
|
|
||||||
/// A type-level GPIO pin, parameterized by [`PinId`] and [`PinMode`] types
|
/// A type-level GPIO pin, parameterized by [`PinId`] and [`PinMode`] types
|
||||||
|
|
||||||
pub struct Pin<I: PinId, M: PinMode> {
|
pub struct Pin<I: PinId, M: PinMode> {
|
||||||
pub(in crate::gpio) regs: Registers<I>,
|
pub(in crate::gpio) regs: Registers<I>,
|
||||||
mode: PhantomData<M>,
|
mode: PhantomData<M>,
|
||||||
|
@ -308,7 +308,7 @@ pub(super) unsafe trait RegisterInterface {
|
|||||||
unsafe {
|
unsafe {
|
||||||
portreg
|
portreg
|
||||||
.datamask()
|
.datamask()
|
||||||
.modify(|r, w| w.bits(r.bits() | self.mask_32()))
|
.modify(|r, w| w.bits(r.bits() | self.mask_32()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -320,7 +320,7 @@ pub(super) unsafe trait RegisterInterface {
|
|||||||
unsafe {
|
unsafe {
|
||||||
portreg
|
portreg
|
||||||
.datamask()
|
.datamask()
|
||||||
.modify(|r, w| w.bits(r.bits() & !self.mask_32()))
|
.modify(|r, w| w.bits(r.bits() & !self.mask_32()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,12 +396,12 @@ impl<I2c: Instance> I2cBase<I2c> {
|
|||||||
let (addr, addr_mode_mask) = Self::unwrap_addr(addr_b);
|
let (addr, addr_mode_mask) = Self::unwrap_addr(addr_b);
|
||||||
self.i2c
|
self.i2c
|
||||||
.s0_addressb()
|
.s0_addressb()
|
||||||
.write(|w| unsafe { w.bits((addr << 1) as u32 | addr_mode_mask) })
|
.write(|w| unsafe { w.bits((addr << 1) as u32 | addr_mode_mask) });
|
||||||
}
|
}
|
||||||
if let Some(addr_b_mask) = sl_cfg.addr_b_mask {
|
if let Some(addr_b_mask) = sl_cfg.addr_b_mask {
|
||||||
self.i2c
|
self.i2c
|
||||||
.s0_addressmaskb()
|
.s0_addressmaskb()
|
||||||
.write(|w| unsafe { w.bits((addr_b_mask << 1) as u32) })
|
.write(|w| unsafe { w.bits((addr_b_mask << 1) as u32) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,14 +136,14 @@ impl Nvm {
|
|||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn write_single(&self, word: u8) {
|
pub fn write_single(&self, word: u8) {
|
||||||
self.spi().data().write(|w| unsafe { w.bits(word as u32) })
|
self.spi().data().write(|w| unsafe { w.bits(word as u32) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn write_with_bmstop(&self, word: u8) {
|
pub fn write_with_bmstop(&self, word: u8) {
|
||||||
self.spi()
|
self.spi()
|
||||||
.data()
|
.data()
|
||||||
.write(|w| unsafe { w.bits(BMSTART_BMSTOP_MASK | word as u32) })
|
.write(|w| unsafe { w.bits(BMSTART_BMSTOP_MASK | word as u32) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -162,7 +162,7 @@ impl Nvm {
|
|||||||
self.spi().fifo_clr().write(|w| {
|
self.spi().fifo_clr().write(|w| {
|
||||||
w.rxfifo().set_bit();
|
w.rxfifo().set_bit();
|
||||||
w.txfifo().set_bit()
|
w.txfifo().set_bit()
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
@ -43,7 +43,7 @@ macro_rules! pwm_common_func {
|
|||||||
#[inline]
|
#[inline]
|
||||||
fn enable_pwm_a(&mut self) {
|
fn enable_pwm_a(&mut self) {
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| unsafe { w.status_sel().bits(StatusSelPwm::PwmA as u8) });
|
.modify(|_, w| unsafe { w.status_sel().bits(StatusSelPwm::PwmA as u8) });
|
||||||
}
|
}
|
||||||
@ -51,7 +51,7 @@ macro_rules! pwm_common_func {
|
|||||||
#[inline]
|
#[inline]
|
||||||
fn enable_pwm_b(&mut self) {
|
fn enable_pwm_b(&mut self) {
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| unsafe { w.status_sel().bits(StatusSelPwm::PwmB as u8) });
|
.modify(|_, w| unsafe { w.status_sel().bits(StatusSelPwm::PwmB as u8) });
|
||||||
}
|
}
|
||||||
@ -71,19 +71,25 @@ macro_rules! pwm_common_func {
|
|||||||
self.pwm_base.current_rst_val =
|
self.pwm_base.current_rst_val =
|
||||||
self.pwm_base.clock.raw() / self.pwm_base.current_period.raw();
|
self.pwm_base.clock.raw() / self.pwm_base.current_period.raw();
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.rst_value()
|
.rst_value()
|
||||||
.write(|w| unsafe { w.bits(self.pwm_base.current_rst_val) });
|
.write(|w| unsafe { w.bits(self.pwm_base.current_rst_val) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn disable(&mut self) {
|
pub fn disable(&mut self) {
|
||||||
self.reg.reg().ctrl().modify(|_, w| w.enable().clear_bit());
|
self.reg
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.enable().clear_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn enable(&mut self) {
|
pub fn enable(&mut self) {
|
||||||
self.reg.reg().ctrl().modify(|_, w| w.enable().set_bit());
|
self.reg
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.enable().set_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
@ -120,7 +126,7 @@ macro_rules! pwmb_func {
|
|||||||
* self.pwm_base.current_lower_limit as u64)
|
* self.pwm_base.current_lower_limit as u64)
|
||||||
/ DUTY_MAX as u64;
|
/ DUTY_MAX as u64;
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.pwmb_value()
|
.pwmb_value()
|
||||||
.write(|w| unsafe { w.bits(pwmb_val as u32) });
|
.write(|w| unsafe { w.bits(pwmb_val as u32) });
|
||||||
}
|
}
|
||||||
@ -137,7 +143,7 @@ macro_rules! pwmb_func {
|
|||||||
* self.pwm_base.current_duty as u64)
|
* self.pwm_base.current_duty as u64)
|
||||||
/ DUTY_MAX as u64;
|
/ DUTY_MAX as u64;
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.pwma_value()
|
.pwma_value()
|
||||||
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
||||||
}
|
}
|
||||||
@ -348,7 +354,7 @@ impl embedded_hal::pwm::SetDutyCycle for ReducedPwmPin {
|
|||||||
* (DUTY_MAX as u64 - self.pwm_base.current_duty as u64))
|
* (DUTY_MAX as u64 - self.pwm_base.current_duty as u64))
|
||||||
/ DUTY_MAX as u64;
|
/ DUTY_MAX as u64;
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.pwma_value()
|
.pwma_value()
|
||||||
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -368,7 +374,7 @@ impl<Pin: TimPin, Tim: ValidTim> embedded_hal::pwm::SetDutyCycle for PwmPin<Pin,
|
|||||||
* (DUTY_MAX as u64 - self.pwm_base.current_duty as u64))
|
* (DUTY_MAX as u64 - self.pwm_base.current_duty as u64))
|
||||||
/ DUTY_MAX as u64;
|
/ DUTY_MAX as u64;
|
||||||
self.reg
|
self.reg
|
||||||
.reg()
|
.reg_block()
|
||||||
.pwma_value()
|
.pwma_value()
|
||||||
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
.write(|w| unsafe { w.bits(pwma_val as u32) });
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -817,7 +817,7 @@ where
|
|||||||
// initialization. Returns the amount of written bytes.
|
// initialization. Returns the amount of written bytes.
|
||||||
fn initial_send_fifo_pumping_with_words(&self, words: &[Word]) -> usize {
|
fn initial_send_fifo_pumping_with_words(&self, words: &[Word]) -> usize {
|
||||||
if self.blockmode {
|
if self.blockmode {
|
||||||
self.spi.ctrl1().modify(|_, w| w.mtxpause().set_bit())
|
self.spi.ctrl1().modify(|_, w| w.mtxpause().set_bit());
|
||||||
}
|
}
|
||||||
// Fill the first half of the write FIFO
|
// Fill the first half of the write FIFO
|
||||||
let mut current_write_idx = 0;
|
let mut current_write_idx = 0;
|
||||||
@ -831,7 +831,7 @@ where
|
|||||||
current_write_idx += 1;
|
current_write_idx += 1;
|
||||||
}
|
}
|
||||||
if self.blockmode {
|
if self.blockmode {
|
||||||
self.spi.ctrl1().modify(|_, w| w.mtxpause().clear_bit())
|
self.spi.ctrl1().modify(|_, w| w.mtxpause().clear_bit());
|
||||||
}
|
}
|
||||||
current_write_idx
|
current_write_idx
|
||||||
}
|
}
|
||||||
@ -840,7 +840,7 @@ where
|
|||||||
// initialization.
|
// initialization.
|
||||||
fn initial_send_fifo_pumping_with_fill_words(&self, send_len: usize) -> usize {
|
fn initial_send_fifo_pumping_with_fill_words(&self, send_len: usize) -> usize {
|
||||||
if self.blockmode {
|
if self.blockmode {
|
||||||
self.spi.ctrl1().modify(|_, w| w.mtxpause().set_bit())
|
self.spi.ctrl1().modify(|_, w| w.mtxpause().set_bit());
|
||||||
}
|
}
|
||||||
// Fill the first half of the write FIFO
|
// Fill the first half of the write FIFO
|
||||||
let mut current_write_idx = 0;
|
let mut current_write_idx = 0;
|
||||||
@ -854,7 +854,7 @@ where
|
|||||||
current_write_idx += 1;
|
current_write_idx += 1;
|
||||||
}
|
}
|
||||||
if self.blockmode {
|
if self.blockmode {
|
||||||
self.spi.ctrl1().modify(|_, w| w.mtxpause().clear_bit())
|
self.spi.ctrl1().modify(|_, w| w.mtxpause().clear_bit());
|
||||||
}
|
}
|
||||||
current_write_idx
|
current_write_idx
|
||||||
}
|
}
|
||||||
|
@ -29,16 +29,54 @@ use crate::{enable_interrupt, pac};
|
|||||||
|
|
||||||
pub static MS_COUNTER: Mutex<Cell<u32>> = Mutex::new(Cell::new(0));
|
pub static MS_COUNTER: Mutex<Cell<u32>> = Mutex::new(Cell::new(0));
|
||||||
|
|
||||||
|
pub const TIM_IRQ_OFFSET: usize = 48;
|
||||||
|
|
||||||
|
/// Get the peripheral block of a TIM peripheral given the index.
|
||||||
|
///
|
||||||
|
/// This function panics if the given index is greater than 23.
|
||||||
|
///
|
||||||
|
/// # Safety
|
||||||
|
///
|
||||||
|
/// This returns a direct handle to the peripheral block, which allows to circumvent ownership
|
||||||
|
/// rules for the peripheral block. You have to ensure that the retrieved peripheral block is not
|
||||||
|
/// used by any other software component.
|
||||||
|
#[inline(always)]
|
||||||
|
pub const unsafe fn get_tim_raw(tim_idx: usize) -> &'static pac::tim0::RegisterBlock {
|
||||||
|
match tim_idx {
|
||||||
|
0 => unsafe { &*pac::Tim0::ptr() },
|
||||||
|
1 => unsafe { &*pac::Tim1::ptr() },
|
||||||
|
2 => unsafe { &*pac::Tim2::ptr() },
|
||||||
|
3 => unsafe { &*pac::Tim3::ptr() },
|
||||||
|
4 => unsafe { &*pac::Tim4::ptr() },
|
||||||
|
5 => unsafe { &*pac::Tim5::ptr() },
|
||||||
|
6 => unsafe { &*pac::Tim6::ptr() },
|
||||||
|
7 => unsafe { &*pac::Tim7::ptr() },
|
||||||
|
8 => unsafe { &*pac::Tim8::ptr() },
|
||||||
|
9 => unsafe { &*pac::Tim9::ptr() },
|
||||||
|
10 => unsafe { &*pac::Tim10::ptr() },
|
||||||
|
11 => unsafe { &*pac::Tim11::ptr() },
|
||||||
|
12 => unsafe { &*pac::Tim12::ptr() },
|
||||||
|
13 => unsafe { &*pac::Tim13::ptr() },
|
||||||
|
14 => unsafe { &*pac::Tim14::ptr() },
|
||||||
|
15 => unsafe { &*pac::Tim15::ptr() },
|
||||||
|
16 => unsafe { &*pac::Tim16::ptr() },
|
||||||
|
17 => unsafe { &*pac::Tim17::ptr() },
|
||||||
|
18 => unsafe { &*pac::Tim18::ptr() },
|
||||||
|
19 => unsafe { &*pac::Tim19::ptr() },
|
||||||
|
20 => unsafe { &*pac::Tim20::ptr() },
|
||||||
|
21 => unsafe { &*pac::Tim21::ptr() },
|
||||||
|
22 => unsafe { &*pac::Tim22::ptr() },
|
||||||
|
23 => unsafe { &*pac::Tim23::ptr() },
|
||||||
|
_ => {
|
||||||
|
panic!("invalid alarm timer index")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
// Defintions
|
// Defintions
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
|
|
||||||
/// Interrupt events
|
|
||||||
//pub enum Event {
|
|
||||||
/// Timer timed out / count down ended
|
|
||||||
//TimeOut,
|
|
||||||
//}
|
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq, Eq, Copy, Clone)]
|
#[derive(Default, Debug, PartialEq, Eq, Copy, Clone)]
|
||||||
pub struct CascadeCtrl {
|
pub struct CascadeCtrl {
|
||||||
/// Enable Cascade 0 signal active as a requirement for counting
|
/// Enable Cascade 0 signal active as a requirement for counting
|
||||||
@ -143,11 +181,11 @@ pub trait TimPin {
|
|||||||
|
|
||||||
pub trait ValidTim {
|
pub trait ValidTim {
|
||||||
// TIM ID ranging from 0 to 23 for 24 TIM peripherals
|
// TIM ID ranging from 0 to 23 for 24 TIM peripherals
|
||||||
const TIM_ID: u8;
|
const ID: u8;
|
||||||
const IRQ: pac::Interrupt;
|
const IRQ: pac::Interrupt;
|
||||||
|
|
||||||
fn clock(clocks: &Clocks) -> Hertz {
|
fn clock(clocks: &Clocks) -> Hertz {
|
||||||
if Self::TIM_ID <= 15 {
|
if Self::ID <= 15 {
|
||||||
clocks.apb1()
|
clocks.apb1()
|
||||||
} else {
|
} else {
|
||||||
clocks.apb2()
|
clocks.apb2()
|
||||||
@ -163,7 +201,7 @@ macro_rules! tim_markers {
|
|||||||
) => {
|
) => {
|
||||||
$(
|
$(
|
||||||
impl ValidTim for $TimX {
|
impl ValidTim for $TimX {
|
||||||
const TIM_ID: u8 = $id;
|
const ID: u8 = $id;
|
||||||
const IRQ: pac::Interrupt = $Irq;
|
const IRQ: pac::Interrupt = $Irq;
|
||||||
}
|
}
|
||||||
)+
|
)+
|
||||||
@ -171,7 +209,7 @@ macro_rules! tim_markers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub const fn const_clock<Tim: ValidTim + ?Sized>(_: &Tim, clocks: &Clocks) -> Hertz {
|
pub const fn const_clock<Tim: ValidTim + ?Sized>(_: &Tim, clocks: &Clocks) -> Hertz {
|
||||||
if Tim::TIM_ID <= 15 {
|
if Tim::ID <= 15 {
|
||||||
clocks.apb1()
|
clocks.apb1()
|
||||||
} else {
|
} else {
|
||||||
clocks.apb2()
|
clocks.apb2()
|
||||||
@ -340,14 +378,14 @@ valid_pin_and_tims!(
|
|||||||
pub fn assert_tim_reset(syscfg: &mut pac::Sysconfig, tim_id: u8) {
|
pub fn assert_tim_reset(syscfg: &mut pac::Sysconfig, tim_id: u8) {
|
||||||
syscfg
|
syscfg
|
||||||
.tim_reset()
|
.tim_reset()
|
||||||
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << tim_id as u32)) })
|
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << tim_id as u32)) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn deassert_tim_reset(syscfg: &mut pac::Sysconfig, tim_id: u8) {
|
pub fn deassert_tim_reset(syscfg: &mut pac::Sysconfig, tim_id: u8) {
|
||||||
syscfg
|
syscfg
|
||||||
.tim_reset()
|
.tim_reset()
|
||||||
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << tim_id as u32)) })
|
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << tim_id as u32)) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
@ -371,7 +409,7 @@ pub type TimRegBlock = pac::tim0::RegisterBlock;
|
|||||||
/// implementations should be overridden. The implementing type must also have
|
/// implementations should be overridden. The implementing type must also have
|
||||||
/// "control" over the corresponding pin ID, i.e. it must guarantee that a each
|
/// "control" over the corresponding pin ID, i.e. it must guarantee that a each
|
||||||
/// pin ID is a singleton.
|
/// pin ID is a singleton.
|
||||||
pub(super) unsafe trait TimRegInterface {
|
pub unsafe trait TimRegInterface {
|
||||||
fn tim_id(&self) -> u8;
|
fn tim_id(&self) -> u8;
|
||||||
|
|
||||||
const PORT_BASE: *const pac::tim0::RegisterBlock = pac::Tim0::ptr() as *const _;
|
const PORT_BASE: *const pac::tim0::RegisterBlock = pac::Tim0::ptr() as *const _;
|
||||||
@ -379,7 +417,7 @@ pub(super) unsafe trait TimRegInterface {
|
|||||||
/// All 24 TIM blocks are identical. This helper functions returns the correct
|
/// All 24 TIM blocks are identical. This helper functions returns the correct
|
||||||
/// memory mapped peripheral depending on the TIM ID.
|
/// memory mapped peripheral depending on the TIM ID.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn reg(&self) -> &TimRegBlock {
|
fn reg_block(&self) -> &TimRegBlock {
|
||||||
unsafe { &*Self::PORT_BASE.offset(self.tim_id() as isize) }
|
unsafe { &*Self::PORT_BASE.offset(self.tim_id() as isize) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -406,6 +444,12 @@ pub(super) unsafe trait TimRegInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsafe impl<Tim: ValidTim> TimRegInterface for Tim {
|
||||||
|
fn tim_id(&self) -> u8 {
|
||||||
|
Tim::ID
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Provide a safe register interface for [`ValidTimAndPin`]s
|
/// Provide a safe register interface for [`ValidTimAndPin`]s
|
||||||
///
|
///
|
||||||
/// This `struct` takes ownership of a [`ValidTimAndPin`] and provides an API to
|
/// This `struct` takes ownership of a [`ValidTimAndPin`] and provides an API to
|
||||||
@ -433,7 +477,7 @@ impl<TIM: ValidTim> TimRegister<TIM> {
|
|||||||
unsafe impl<Tim: ValidTim> TimRegInterface for TimRegister<Tim> {
|
unsafe impl<Tim: ValidTim> TimRegInterface for TimRegister<Tim> {
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn tim_id(&self) -> u8 {
|
fn tim_id(&self) -> u8 {
|
||||||
Tim::TIM_ID
|
Tim::ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -454,7 +498,7 @@ where
|
|||||||
unsafe impl<Pin: TimPin, Tim: ValidTim> TimRegInterface for TimAndPinRegister<Pin, Tim> {
|
unsafe impl<Pin: TimPin, Tim: ValidTim> TimRegInterface for TimAndPinRegister<Pin, Tim> {
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn tim_id(&self) -> u8 {
|
fn tim_id(&self) -> u8 {
|
||||||
Tim::TIM_ID
|
Tim::ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -467,7 +511,7 @@ pub(super) struct TimDynRegister {
|
|||||||
impl<Pin: TimPin, Tim: ValidTim> From<TimAndPinRegister<Pin, Tim>> for TimDynRegister {
|
impl<Pin: TimPin, Tim: ValidTim> From<TimAndPinRegister<Pin, Tim>> for TimDynRegister {
|
||||||
fn from(_reg: TimAndPinRegister<Pin, Tim>) -> Self {
|
fn from(_reg: TimAndPinRegister<Pin, Tim>) -> Self {
|
||||||
Self {
|
Self {
|
||||||
tim_id: Tim::TIM_ID,
|
tim_id: Tim::ID,
|
||||||
pin_id: Pin::DYN,
|
pin_id: Pin::DYN,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -504,10 +548,10 @@ pub fn enable_tim_clk(syscfg: &mut pac::Sysconfig, idx: u8) {
|
|||||||
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << idx)) });
|
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << idx)) });
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe impl<TIM: ValidTim> TimRegInterface for CountdownTimer<TIM> {
|
unsafe impl<Tim: ValidTim> TimRegInterface for CountdownTimer<Tim> {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn tim_id(&self) -> u8 {
|
fn tim_id(&self) -> u8 {
|
||||||
TIM::TIM_ID
|
Tim::ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -517,11 +561,11 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
/// You can use [Self::start] to start the countdown timer, and you may optionally call
|
/// You can use [Self::start] to start the countdown timer, and you may optionally call
|
||||||
/// [Self::listen] to enable interrupts for the TIM peripheral as well.
|
/// [Self::listen] to enable interrupts for the TIM peripheral as well.
|
||||||
pub fn new(syscfg: &mut pac::Sysconfig, tim: Tim, clocks: &Clocks) -> Self {
|
pub fn new(syscfg: &mut pac::Sysconfig, tim: Tim, clocks: &Clocks) -> Self {
|
||||||
enable_tim_clk(syscfg, Tim::TIM_ID);
|
enable_tim_clk(syscfg, Tim::ID);
|
||||||
assert_tim_reset(syscfg, Tim::TIM_ID);
|
assert_tim_reset(syscfg, Tim::ID);
|
||||||
cortex_m::asm::nop();
|
cortex_m::asm::nop();
|
||||||
cortex_m::asm::nop();
|
cortex_m::asm::nop();
|
||||||
deassert_tim_reset(syscfg, Tim::TIM_ID);
|
deassert_tim_reset(syscfg, Tim::ID);
|
||||||
|
|
||||||
CountdownTimer {
|
CountdownTimer {
|
||||||
tim: unsafe { TimRegister::new(tim) },
|
tim: unsafe { TimRegister::new(tim) },
|
||||||
@ -551,7 +595,7 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
/// Return `Ok` if the timer has wrapped. Peripheral will automatically clear the
|
/// Return `Ok` if the timer has wrapped. Peripheral will automatically clear the
|
||||||
/// flag and restart the time if configured correctly
|
/// flag and restart the time if configured correctly
|
||||||
pub fn wait(&mut self) -> nb::Result<(), void::Void> {
|
pub fn wait(&mut self) -> nb::Result<(), void::Void> {
|
||||||
let cnt = self.tim.reg().cnt_value().read().bits();
|
let cnt = self.tim.reg_block().cnt_value().read().bits();
|
||||||
if (cnt > self.last_cnt) || cnt == 0 {
|
if (cnt > self.last_cnt) || cnt == 0 {
|
||||||
self.last_cnt = self.rst_val;
|
self.last_cnt = self.rst_val;
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -563,7 +607,10 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn stop(&mut self) {
|
pub fn stop(&mut self) {
|
||||||
self.tim.reg().ctrl().write(|w| w.enable().clear_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.write(|w| w.enable().clear_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
@ -575,26 +622,38 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn enable_interrupt(&mut self) {
|
pub fn enable_interrupt(&mut self) {
|
||||||
self.tim.reg().ctrl().modify(|_, w| w.irq_enb().set_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.irq_enb().set_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn disable_interrupt(&mut self) {
|
pub fn disable_interrupt(&mut self) {
|
||||||
self.tim.reg().ctrl().modify(|_, w| w.irq_enb().clear_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.irq_enb().clear_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn release(self, syscfg: &mut pac::Sysconfig) -> Tim {
|
pub fn release(self, syscfg: &mut pac::Sysconfig) -> Tim {
|
||||||
self.tim.reg().ctrl().write(|w| w.enable().clear_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.write(|w| w.enable().clear_bit());
|
||||||
syscfg
|
syscfg
|
||||||
.tim_clk_enable()
|
.tim_clk_enable()
|
||||||
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << Tim::TIM_ID)) });
|
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << Tim::ID)) });
|
||||||
self.tim.release()
|
self.tim.release()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Load the count down timer with a timeout but do not start it.
|
/// Load the count down timer with a timeout but do not start it.
|
||||||
pub fn load(&mut self, timeout: impl Into<Hertz>) {
|
pub fn load(&mut self, timeout: impl Into<Hertz>) {
|
||||||
self.tim.reg().ctrl().modify(|_, w| w.enable().clear_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.enable().clear_bit());
|
||||||
self.curr_freq = timeout.into();
|
self.curr_freq = timeout.into();
|
||||||
self.rst_val = (self.clock.raw() / self.curr_freq.raw()) - 1;
|
self.rst_val = (self.clock.raw() / self.curr_freq.raw()) - 1;
|
||||||
self.set_reload(self.rst_val);
|
self.set_reload(self.rst_val);
|
||||||
@ -604,27 +663,39 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn set_reload(&mut self, val: u32) {
|
pub fn set_reload(&mut self, val: u32) {
|
||||||
self.tim.reg().rst_value().write(|w| unsafe { w.bits(val) });
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.rst_value()
|
||||||
|
.write(|w| unsafe { w.bits(val) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn set_count(&mut self, val: u32) {
|
pub fn set_count(&mut self, val: u32) {
|
||||||
self.tim.reg().cnt_value().write(|w| unsafe { w.bits(val) });
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.cnt_value()
|
||||||
|
.write(|w| unsafe { w.bits(val) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn count(&self) -> u32 {
|
pub fn count(&self) -> u32 {
|
||||||
self.tim.reg().cnt_value().read().bits()
|
self.tim.reg_block().cnt_value().read().bits()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn enable(&mut self) {
|
pub fn enable(&mut self) {
|
||||||
self.tim.reg().enable().write(|w| unsafe { w.bits(1) });
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.enable()
|
||||||
|
.write(|w| unsafe { w.bits(1) });
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn disable(&mut self) {
|
pub fn disable(&mut self) {
|
||||||
self.tim.reg().ctrl().modify(|_, w| w.enable().clear_bit());
|
self.tim
|
||||||
|
.reg_block()
|
||||||
|
.ctrl()
|
||||||
|
.modify(|_, w| w.enable().clear_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Disable the counter, setting both enable and active bit to 0
|
/// Disable the counter, setting both enable and active bit to 0
|
||||||
@ -632,12 +703,12 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
pub fn auto_disable(self, enable: bool) -> Self {
|
pub fn auto_disable(self, enable: bool) -> Self {
|
||||||
if enable {
|
if enable {
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| w.auto_disable().set_bit());
|
.modify(|_, w| w.auto_disable().set_bit());
|
||||||
} else {
|
} else {
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| w.auto_disable().clear_bit());
|
.modify(|_, w| w.auto_disable().clear_bit());
|
||||||
}
|
}
|
||||||
@ -652,12 +723,12 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
pub fn auto_deactivate(self, enable: bool) -> Self {
|
pub fn auto_deactivate(self, enable: bool) -> Self {
|
||||||
if enable {
|
if enable {
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| w.auto_deactivate().set_bit());
|
.modify(|_, w| w.auto_deactivate().set_bit());
|
||||||
} else {
|
} else {
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.ctrl()
|
.ctrl()
|
||||||
.modify(|_, w| w.auto_deactivate().clear_bit());
|
.modify(|_, w| w.auto_deactivate().clear_bit());
|
||||||
}
|
}
|
||||||
@ -667,7 +738,7 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
/// Configure the cascade parameters
|
/// Configure the cascade parameters
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn cascade_control(&mut self, ctrl: CascadeCtrl) {
|
pub fn cascade_control(&mut self, ctrl: CascadeCtrl) {
|
||||||
self.tim.reg().csd_ctrl().write(|w| {
|
self.tim.reg_block().csd_ctrl().write(|w| {
|
||||||
w.csden0().bit(ctrl.enb_start_src_csd0);
|
w.csden0().bit(ctrl.enb_start_src_csd0);
|
||||||
w.csdinv0().bit(ctrl.inv_csd0);
|
w.csdinv0().bit(ctrl.inv_csd0);
|
||||||
w.csden1().bit(ctrl.enb_start_src_csd1);
|
w.csden1().bit(ctrl.enb_start_src_csd1);
|
||||||
@ -685,7 +756,7 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
pub fn cascade_0_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
pub fn cascade_0_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
||||||
let id = src.id()?;
|
let id = src.id()?;
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.cascade0()
|
.cascade0()
|
||||||
.write(|w| unsafe { w.cassel().bits(id) });
|
.write(|w| unsafe { w.cassel().bits(id) });
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -695,7 +766,7 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
pub fn cascade_1_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
pub fn cascade_1_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
||||||
let id = src.id()?;
|
let id = src.id()?;
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.cascade1()
|
.cascade1()
|
||||||
.write(|w| unsafe { w.cassel().bits(id) });
|
.write(|w| unsafe { w.cassel().bits(id) });
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -705,7 +776,7 @@ impl<Tim: ValidTim> CountdownTimer<Tim> {
|
|||||||
pub fn cascade_2_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
pub fn cascade_2_source(&mut self, src: CascadeSource) -> Result<(), InvalidCascadeSourceId> {
|
||||||
let id = src.id()?;
|
let id = src.id()?;
|
||||||
self.tim
|
self.tim
|
||||||
.reg()
|
.reg_block()
|
||||||
.cascade2()
|
.cascade2()
|
||||||
.write(|w| unsafe { w.cassel().bits(id) });
|
.write(|w| unsafe { w.cassel().bits(id) });
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -305,17 +305,17 @@ impl IrqResultMaxSizeOrTimeout {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn overflow_error(&self) -> bool {
|
pub fn overflow_error(&self) -> bool {
|
||||||
self.errors.map_or(false, |e| e.overflow)
|
self.errors.is_some_and(|e| e.overflow)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn framing_error(&self) -> bool {
|
pub fn framing_error(&self) -> bool {
|
||||||
self.errors.map_or(false, |e| e.framing)
|
self.errors.is_some_and(|e| e.framing)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn parity_error(&self) -> bool {
|
pub fn parity_error(&self) -> bool {
|
||||||
self.errors.map_or(false, |e| e.parity)
|
self.errors.is_some_and(|e| e.parity)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
@ -80,12 +80,12 @@ impl Wdt {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn disable_reset(&mut self) {
|
pub fn disable_reset(&mut self) {
|
||||||
self.wdt.wdogcontrol().modify(|_, w| w.resen().clear_bit())
|
self.wdt.wdogcontrol().modify(|_, w| w.resen().clear_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn enable_reset(&mut self) {
|
pub fn enable_reset(&mut self) {
|
||||||
self.wdt.wdogcontrol().modify(|_, w| w.resen().set_bit())
|
self.wdt.wdogcontrol().modify(|_, w| w.resen().set_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## [unreleased]
|
## [unreleased]
|
||||||
|
|
||||||
|
## [v0.3.0] 2025-02-13
|
||||||
|
|
||||||
|
- Re-generated PAC with `svd2rust` v0.35.0
|
||||||
|
|
||||||
## [v0.2.0] 2024-06-25
|
## [v0.2.0] 2024-06-25
|
||||||
|
|
||||||
- Re-Generated PAC with `svd2rust` v0.33.3
|
- Re-Generated PAC with `svd2rust` v0.33.3
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "va416xx"
|
name = "va416xx"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "PAC for the Vorago VA416xx family of MCUs"
|
description = "PAC for the Vorago VA416xx family of MCUs"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
# Use installed tool by default
|
# Use installed tool by default
|
||||||
svd2rust_bin="svd2rust"
|
svd2rust_bin="svd2rust"
|
||||||
|
@ -65,61 +65,61 @@ impl RegisterBlock {
|
|||||||
&self.perid
|
&self.perid
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CTRL (rw) register accessor: Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl`]
|
#[doc = "CTRL (rw) register accessor: Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CTRL")]
|
#[doc(alias = "CTRL")]
|
||||||
pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
|
pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
|
||||||
#[doc = "Control Register"]
|
#[doc = "Control Register"]
|
||||||
pub mod ctrl;
|
pub mod ctrl;
|
||||||
#[doc = "FIFO_DATA (r) register accessor: FIFO data\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_data::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_data`]
|
#[doc = "FIFO_DATA (r) register accessor: FIFO data\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_data::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_data`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "FIFO_DATA")]
|
#[doc(alias = "FIFO_DATA")]
|
||||||
pub type FifoData = crate::Reg<fifo_data::FifoDataSpec>;
|
pub type FifoData = crate::Reg<fifo_data::FifoDataSpec>;
|
||||||
#[doc = "FIFO data"]
|
#[doc = "FIFO data"]
|
||||||
pub mod fifo_data;
|
pub mod fifo_data;
|
||||||
#[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
|
#[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "STATUS")]
|
#[doc(alias = "STATUS")]
|
||||||
pub type Status = crate::Reg<status::StatusSpec>;
|
pub type Status = crate::Reg<status::StatusSpec>;
|
||||||
#[doc = "Status"]
|
#[doc = "Status"]
|
||||||
pub mod status;
|
pub mod status;
|
||||||
#[doc = "IRQ_ENB (rw) register accessor: Interrupt Enable\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_enb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`irq_enb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_enb`]
|
#[doc = "IRQ_ENB (rw) register accessor: Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_enb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`irq_enb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_enb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "IRQ_ENB")]
|
#[doc(alias = "IRQ_ENB")]
|
||||||
pub type IrqEnb = crate::Reg<irq_enb::IrqEnbSpec>;
|
pub type IrqEnb = crate::Reg<irq_enb::IrqEnbSpec>;
|
||||||
#[doc = "Interrupt Enable"]
|
#[doc = "Interrupt Enable"]
|
||||||
pub mod irq_enb;
|
pub mod irq_enb;
|
||||||
#[doc = "IRQ_RAW (r) register accessor: Raw Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_raw`]
|
#[doc = "IRQ_RAW (r) register accessor: Raw Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_raw`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "IRQ_RAW")]
|
#[doc(alias = "IRQ_RAW")]
|
||||||
pub type IrqRaw = crate::Reg<irq_raw::IrqRawSpec>;
|
pub type IrqRaw = crate::Reg<irq_raw::IrqRawSpec>;
|
||||||
#[doc = "Raw Interrupt Status"]
|
#[doc = "Raw Interrupt Status"]
|
||||||
pub mod irq_raw;
|
pub mod irq_raw;
|
||||||
#[doc = "IRQ_END (r) register accessor: Enabled Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_end::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_end`]
|
#[doc = "IRQ_END (r) register accessor: Enabled Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_end::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_end`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "IRQ_END")]
|
#[doc(alias = "IRQ_END")]
|
||||||
pub type IrqEnd = crate::Reg<irq_end::IrqEndSpec>;
|
pub type IrqEnd = crate::Reg<irq_end::IrqEndSpec>;
|
||||||
#[doc = "Enabled Interrupt Status"]
|
#[doc = "Enabled Interrupt Status"]
|
||||||
pub mod irq_end;
|
pub mod irq_end;
|
||||||
#[doc = "IRQ_CLR (w) register accessor: Clear Interrupt\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`irq_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_clr`]
|
#[doc = "IRQ_CLR (w) register accessor: Clear Interrupt\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`irq_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@irq_clr`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "IRQ_CLR")]
|
#[doc(alias = "IRQ_CLR")]
|
||||||
pub type IrqClr = crate::Reg<irq_clr::IrqClrSpec>;
|
pub type IrqClr = crate::Reg<irq_clr::IrqClrSpec>;
|
||||||
#[doc = "Clear Interrupt"]
|
#[doc = "Clear Interrupt"]
|
||||||
pub mod irq_clr;
|
pub mod irq_clr;
|
||||||
#[doc = "RXFIFOIRQTRG (rw) register accessor: Receive FIFO Interrupt Trigger Value\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rxfifoirqtrg::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rxfifoirqtrg::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxfifoirqtrg`]
|
#[doc = "RXFIFOIRQTRG (rw) register accessor: Receive FIFO Interrupt Trigger Value\n\nYou can [`read`](crate::Reg::read) this register and get [`rxfifoirqtrg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rxfifoirqtrg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxfifoirqtrg`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "RXFIFOIRQTRG")]
|
#[doc(alias = "RXFIFOIRQTRG")]
|
||||||
pub type Rxfifoirqtrg = crate::Reg<rxfifoirqtrg::RxfifoirqtrgSpec>;
|
pub type Rxfifoirqtrg = crate::Reg<rxfifoirqtrg::RxfifoirqtrgSpec>;
|
||||||
#[doc = "Receive FIFO Interrupt Trigger Value"]
|
#[doc = "Receive FIFO Interrupt Trigger Value"]
|
||||||
pub mod rxfifoirqtrg;
|
pub mod rxfifoirqtrg;
|
||||||
#[doc = "FIFO_CLR (rw) register accessor: FIFO Clear\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_clr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fifo_clr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_clr`]
|
#[doc = "FIFO_CLR (rw) register accessor: FIFO Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_clr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fifo_clr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_clr`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "FIFO_CLR")]
|
#[doc(alias = "FIFO_CLR")]
|
||||||
pub type FifoClr = crate::Reg<fifo_clr::FifoClrSpec>;
|
pub type FifoClr = crate::Reg<fifo_clr::FifoClrSpec>;
|
||||||
#[doc = "FIFO Clear"]
|
#[doc = "FIFO Clear"]
|
||||||
pub mod fifo_clr;
|
pub mod fifo_clr;
|
||||||
#[doc = "PERID (r) register accessor: Peripheral ID Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`perid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perid`]
|
#[doc = "PERID (r) register accessor: Peripheral ID Register\n\nYou can [`read`](crate::Reg::read) this register and get [`perid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@perid`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "PERID")]
|
#[doc(alias = "PERID")]
|
||||||
pub type Perid = crate::Reg<perid::PeridSpec>;
|
pub type Perid = crate::Reg<perid::PeridSpec>;
|
||||||
|
@ -61,42 +61,36 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:15 - Enables the channel for data collection"]
|
#[doc = "Bits 0:15 - Enables the channel for data collection"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn chan_en(&mut self) -> ChanEnW<CtrlSpec> {
|
pub fn chan_en(&mut self) -> ChanEnW<CtrlSpec> {
|
||||||
ChanEnW::new(self, 0)
|
ChanEnW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 16 - Enables the channel tag to be saved with the ADC data"]
|
#[doc = "Bit 16 - Enables the channel tag to be saved with the ADC data"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn chan_tag_en(&mut self) -> ChanTagEnW<CtrlSpec> {
|
pub fn chan_tag_en(&mut self) -> ChanTagEnW<CtrlSpec> {
|
||||||
ChanTagEnW::new(self, 16)
|
ChanTagEnW::new(self, 16)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 17 - ADC data acquisition for all enabled channel"]
|
#[doc = "Bit 17 - ADC data acquisition for all enabled channel"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn sweep_en(&mut self) -> SweepEnW<CtrlSpec> {
|
pub fn sweep_en(&mut self) -> SweepEnW<CtrlSpec> {
|
||||||
SweepEnW::new(self, 17)
|
SweepEnW::new(self, 17)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 18 - Allows the external trigger to start analog acquisition"]
|
#[doc = "Bit 18 - Allows the external trigger to start analog acquisition"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ext_trig_en(&mut self) -> ExtTrigEnW<CtrlSpec> {
|
pub fn ext_trig_en(&mut self) -> ExtTrigEnW<CtrlSpec> {
|
||||||
ExtTrigEnW::new(self, 18)
|
ExtTrigEnW::new(self, 18)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 19 - Starts analog acquisition"]
|
#[doc = "Bit 19 - Starts analog acquisition"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn manual_trig(&mut self) -> ManualTrigW<CtrlSpec> {
|
pub fn manual_trig(&mut self) -> ManualTrigW<CtrlSpec> {
|
||||||
ManualTrigW::new(self, 19)
|
ManualTrigW::new(self, 19)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 20:23 - Conversion count describes the number of conversions to be applied for triggers/sweeps. (N+1 conversions)"]
|
#[doc = "Bits 20:23 - Conversion count describes the number of conversions to be applied for triggers/sweeps. (N+1 conversions)"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn conv_cnt(&mut self) -> ConvCntW<CtrlSpec> {
|
pub fn conv_cnt(&mut self) -> ConvCntW<CtrlSpec> {
|
||||||
ConvCntW::new(self, 20)
|
ConvCntW::new(self, 20)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctrl::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctrl::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CtrlSpec;
|
pub struct CtrlSpec;
|
||||||
impl crate::RegisterSpec for CtrlSpec {
|
impl crate::RegisterSpec for CtrlSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -7,12 +7,11 @@ pub type FifoClrW<'a, REG> = crate::BitWriter<'a, REG>;
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bit 0 - Clears the ADC FIFO. Always reads 0"]
|
#[doc = "Bit 0 - Clears the ADC FIFO. Always reads 0"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_clr(&mut self) -> FifoClrW<FifoClrSpec> {
|
pub fn fifo_clr(&mut self) -> FifoClrW<FifoClrSpec> {
|
||||||
FifoClrW::new(self, 0)
|
FifoClrW::new(self, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "FIFO Clear\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_clr::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fifo_clr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "FIFO Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_clr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fifo_clr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct FifoClrSpec;
|
pub struct FifoClrSpec;
|
||||||
impl crate::RegisterSpec for FifoClrSpec {
|
impl crate::RegisterSpec for FifoClrSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -16,7 +16,7 @@ impl R {
|
|||||||
ChanTagR::new(((self.bits >> 12) & 0x0f) as u8)
|
ChanTagR::new(((self.bits >> 12) & 0x0f) as u8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "FIFO data\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_data::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "FIFO data\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_data::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct FifoDataSpec;
|
pub struct FifoDataSpec;
|
||||||
impl crate::RegisterSpec for FifoDataSpec {
|
impl crate::RegisterSpec for FifoDataSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -11,30 +11,26 @@ pub type TrigErrorW<'a, REG> = crate::BitWriter<'a, REG>;
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bit 0 - Clears the FIFO overflow interrupt status. Always reads 0"]
|
#[doc = "Bit 0 - Clears the FIFO overflow interrupt status. Always reads 0"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_oflow(&mut self) -> FifoOflowW<IrqClrSpec> {
|
pub fn fifo_oflow(&mut self) -> FifoOflowW<IrqClrSpec> {
|
||||||
FifoOflowW::new(self, 0)
|
FifoOflowW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 1 - Clears the FIFO underflow interrupt status. Always reads 0"]
|
#[doc = "Bit 1 - Clears the FIFO underflow interrupt status. Always reads 0"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_uflow(&mut self) -> FifoUflowW<IrqClrSpec> {
|
pub fn fifo_uflow(&mut self) -> FifoUflowW<IrqClrSpec> {
|
||||||
FifoUflowW::new(self, 1)
|
FifoUflowW::new(self, 1)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 2 - Clears the ADC done interrupt status. Always reads 0"]
|
#[doc = "Bit 2 - Clears the ADC done interrupt status. Always reads 0"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn adc_done(&mut self) -> AdcDoneW<IrqClrSpec> {
|
pub fn adc_done(&mut self) -> AdcDoneW<IrqClrSpec> {
|
||||||
AdcDoneW::new(self, 2)
|
AdcDoneW::new(self, 2)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 3 - Clears the trigger error interrupt status. Always reads 0"]
|
#[doc = "Bit 3 - Clears the trigger error interrupt status. Always reads 0"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn trig_error(&mut self) -> TrigErrorW<IrqClrSpec> {
|
pub fn trig_error(&mut self) -> TrigErrorW<IrqClrSpec> {
|
||||||
TrigErrorW::new(self, 3)
|
TrigErrorW::new(self, 3)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Clear Interrupt\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`irq_clr::W`](W). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Clear Interrupt\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`irq_clr::W`](W). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct IrqClrSpec;
|
pub struct IrqClrSpec;
|
||||||
impl crate::RegisterSpec for IrqClrSpec {
|
impl crate::RegisterSpec for IrqClrSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -70,48 +70,41 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bit 0 - Enables the interrupt for FIFO empty"]
|
#[doc = "Bit 0 - Enables the interrupt for FIFO empty"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_empty(&mut self) -> FifoEmptyW<IrqEnbSpec> {
|
pub fn fifo_empty(&mut self) -> FifoEmptyW<IrqEnbSpec> {
|
||||||
FifoEmptyW::new(self, 0)
|
FifoEmptyW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 1 - Enables the interrupt for FIFO full"]
|
#[doc = "Bit 1 - Enables the interrupt for FIFO full"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_full(&mut self) -> FifoFullW<IrqEnbSpec> {
|
pub fn fifo_full(&mut self) -> FifoFullW<IrqEnbSpec> {
|
||||||
FifoFullW::new(self, 1)
|
FifoFullW::new(self, 1)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 2 - Enables the interrupt for a FIFO overflow"]
|
#[doc = "Bit 2 - Enables the interrupt for a FIFO overflow"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_oflow(&mut self) -> FifoOflowW<IrqEnbSpec> {
|
pub fn fifo_oflow(&mut self) -> FifoOflowW<IrqEnbSpec> {
|
||||||
FifoOflowW::new(self, 2)
|
FifoOflowW::new(self, 2)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 3 - Enables the interrupt for a FIFO underflow"]
|
#[doc = "Bit 3 - Enables the interrupt for a FIFO underflow"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_uflow(&mut self) -> FifoUflowW<IrqEnbSpec> {
|
pub fn fifo_uflow(&mut self) -> FifoUflowW<IrqEnbSpec> {
|
||||||
FifoUflowW::new(self, 3)
|
FifoUflowW::new(self, 3)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 4 - Enables the interrupt for an ADC data acquisition completion"]
|
#[doc = "Bit 4 - Enables the interrupt for an ADC data acquisition completion"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn adc_done(&mut self) -> AdcDoneW<IrqEnbSpec> {
|
pub fn adc_done(&mut self) -> AdcDoneW<IrqEnbSpec> {
|
||||||
AdcDoneW::new(self, 4)
|
AdcDoneW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 5 - Enables the interrupt for a trigger error"]
|
#[doc = "Bit 5 - Enables the interrupt for a trigger error"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn trig_error(&mut self) -> TrigErrorW<IrqEnbSpec> {
|
pub fn trig_error(&mut self) -> TrigErrorW<IrqEnbSpec> {
|
||||||
TrigErrorW::new(self, 5)
|
TrigErrorW::new(self, 5)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 6 - Enables the interrupt for the FIFO entry count meets or exceeds the trigger level"]
|
#[doc = "Bit 6 - Enables the interrupt for the FIFO entry count meets or exceeds the trigger level"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn fifo_depth_trig(&mut self) -> FifoDepthTrigW<IrqEnbSpec> {
|
pub fn fifo_depth_trig(&mut self) -> FifoDepthTrigW<IrqEnbSpec> {
|
||||||
FifoDepthTrigW::new(self, 6)
|
FifoDepthTrigW::new(self, 6)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Interrupt Enable\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_enb::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`irq_enb::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_enb::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`irq_enb::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct IrqEnbSpec;
|
pub struct IrqEnbSpec;
|
||||||
impl crate::RegisterSpec for IrqEnbSpec {
|
impl crate::RegisterSpec for IrqEnbSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -51,7 +51,7 @@ impl R {
|
|||||||
FifoDepthTrigR::new(((self.bits >> 6) & 1) != 0)
|
FifoDepthTrigR::new(((self.bits >> 6) & 1) != 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Enabled Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_end::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Enabled Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_end::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct IrqEndSpec;
|
pub struct IrqEndSpec;
|
||||||
impl crate::RegisterSpec for IrqEndSpec {
|
impl crate::RegisterSpec for IrqEndSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -51,7 +51,7 @@ impl R {
|
|||||||
FifoDepthTrigR::new(((self.bits >> 6) & 1) != 0)
|
FifoDepthTrigR::new(((self.bits >> 6) & 1) != 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Raw Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`irq_raw::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Raw Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`irq_raw::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct IrqRawSpec;
|
pub struct IrqRawSpec;
|
||||||
impl crate::RegisterSpec for IrqRawSpec {
|
impl crate::RegisterSpec for IrqRawSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -5,7 +5,7 @@ impl core::fmt::Debug for R {
|
|||||||
write!(f, "{}", self.bits())
|
write!(f, "{}", self.bits())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Peripheral ID Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`perid::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Peripheral ID Register\n\nYou can [`read`](crate::Reg::read) this register and get [`perid::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct PeridSpec;
|
pub struct PeridSpec;
|
||||||
impl crate::RegisterSpec for PeridSpec {
|
impl crate::RegisterSpec for PeridSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -16,12 +16,11 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:4 - Sets the FIFO_ENTRY_CNT value that asserts the FIFO_DEPTH_TRIG interrupt"]
|
#[doc = "Bits 0:4 - Sets the FIFO_ENTRY_CNT value that asserts the FIFO_DEPTH_TRIG interrupt"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn level(&mut self) -> LevelW<RxfifoirqtrgSpec> {
|
pub fn level(&mut self) -> LevelW<RxfifoirqtrgSpec> {
|
||||||
LevelW::new(self, 0)
|
LevelW::new(self, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Receive FIFO Interrupt Trigger Value\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rxfifoirqtrg::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rxfifoirqtrg::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Receive FIFO Interrupt Trigger Value\n\nYou can [`read`](crate::Reg::read) this register and get [`rxfifoirqtrg::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rxfifoirqtrg::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct RxfifoirqtrgSpec;
|
pub struct RxfifoirqtrgSpec;
|
||||||
impl crate::RegisterSpec for RxfifoirqtrgSpec {
|
impl crate::RegisterSpec for RxfifoirqtrgSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -16,7 +16,7 @@ impl R {
|
|||||||
AdcBusyR::new(((self.bits >> 7) & 1) != 0)
|
AdcBusyR::new(((self.bits >> 7) & 1) != 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`status::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct StatusSpec;
|
pub struct StatusSpec;
|
||||||
impl crate::RegisterSpec for StatusSpec {
|
impl crate::RegisterSpec for StatusSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -856,853 +856,853 @@ impl RegisterBlock {
|
|||||||
&self.ctmr
|
&self.ctmr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CNSTAT_CMB0 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb0`]
|
#[doc = "CNSTAT_CMB0 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB0")]
|
#[doc(alias = "CNSTAT_CMB0")]
|
||||||
pub type CnstatCmb0 = crate::Reg<cnstat_cmb0::CnstatCmb0Spec>;
|
pub type CnstatCmb0 = crate::Reg<cnstat_cmb0::CnstatCmb0Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb0;
|
pub mod cnstat_cmb0;
|
||||||
#[doc = "TSTP_CMB0 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb0`]
|
#[doc = "TSTP_CMB0 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB0")]
|
#[doc(alias = "TSTP_CMB0")]
|
||||||
pub type TstpCmb0 = crate::Reg<tstp_cmb0::TstpCmb0Spec>;
|
pub type TstpCmb0 = crate::Reg<tstp_cmb0::TstpCmb0Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb0;
|
pub mod tstp_cmb0;
|
||||||
#[doc = "DATA3_CMB0 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb0`]
|
#[doc = "DATA3_CMB0 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB0")]
|
#[doc(alias = "DATA3_CMB0")]
|
||||||
pub type Data3Cmb0 = crate::Reg<data3_cmb0::Data3Cmb0Spec>;
|
pub type Data3Cmb0 = crate::Reg<data3_cmb0::Data3Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb0;
|
pub mod data3_cmb0;
|
||||||
#[doc = "DATA2_CMB0 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb0`]
|
#[doc = "DATA2_CMB0 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB0")]
|
#[doc(alias = "DATA2_CMB0")]
|
||||||
pub type Data2Cmb0 = crate::Reg<data2_cmb0::Data2Cmb0Spec>;
|
pub type Data2Cmb0 = crate::Reg<data2_cmb0::Data2Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb0;
|
pub mod data2_cmb0;
|
||||||
#[doc = "DATA1_CMB0 (rw) register accessor: CAN Frame Data Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb0`]
|
#[doc = "DATA1_CMB0 (rw) register accessor: CAN Frame Data Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB0")]
|
#[doc(alias = "DATA1_CMB0")]
|
||||||
pub type Data1Cmb0 = crate::Reg<data1_cmb0::Data1Cmb0Spec>;
|
pub type Data1Cmb0 = crate::Reg<data1_cmb0::Data1Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Data Word 1"]
|
#[doc = "CAN Frame Data Word 1"]
|
||||||
pub mod data1_cmb0;
|
pub mod data1_cmb0;
|
||||||
#[doc = "DATA0_CMB0 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb0`]
|
#[doc = "DATA0_CMB0 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB0")]
|
#[doc(alias = "DATA0_CMB0")]
|
||||||
pub type Data0Cmb0 = crate::Reg<data0_cmb0::Data0Cmb0Spec>;
|
pub type Data0Cmb0 = crate::Reg<data0_cmb0::Data0Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb0;
|
pub mod data0_cmb0;
|
||||||
#[doc = "ID0_CMB0 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb0`]
|
#[doc = "ID0_CMB0 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB0")]
|
#[doc(alias = "ID0_CMB0")]
|
||||||
pub type Id0Cmb0 = crate::Reg<id0_cmb0::Id0Cmb0Spec>;
|
pub type Id0Cmb0 = crate::Reg<id0_cmb0::Id0Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb0;
|
pub mod id0_cmb0;
|
||||||
#[doc = "ID1_CMB0 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb0`]
|
#[doc = "ID1_CMB0 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb0`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB0")]
|
#[doc(alias = "ID1_CMB0")]
|
||||||
pub type Id1Cmb0 = crate::Reg<id1_cmb0::Id1Cmb0Spec>;
|
pub type Id1Cmb0 = crate::Reg<id1_cmb0::Id1Cmb0Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb0;
|
pub mod id1_cmb0;
|
||||||
#[doc = "CNSTAT_CMB1 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb1`]
|
#[doc = "CNSTAT_CMB1 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB1")]
|
#[doc(alias = "CNSTAT_CMB1")]
|
||||||
pub type CnstatCmb1 = crate::Reg<cnstat_cmb1::CnstatCmb1Spec>;
|
pub type CnstatCmb1 = crate::Reg<cnstat_cmb1::CnstatCmb1Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb1;
|
pub mod cnstat_cmb1;
|
||||||
#[doc = "TSTP_CMB1 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb1`]
|
#[doc = "TSTP_CMB1 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB1")]
|
#[doc(alias = "TSTP_CMB1")]
|
||||||
pub type TstpCmb1 = crate::Reg<tstp_cmb1::TstpCmb1Spec>;
|
pub type TstpCmb1 = crate::Reg<tstp_cmb1::TstpCmb1Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb1;
|
pub mod tstp_cmb1;
|
||||||
#[doc = "DATA3_CMB1 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb1`]
|
#[doc = "DATA3_CMB1 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB1")]
|
#[doc(alias = "DATA3_CMB1")]
|
||||||
pub type Data3Cmb1 = crate::Reg<data3_cmb1::Data3Cmb1Spec>;
|
pub type Data3Cmb1 = crate::Reg<data3_cmb1::Data3Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb1;
|
pub mod data3_cmb1;
|
||||||
#[doc = "DATA2_CMB1 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb1`]
|
#[doc = "DATA2_CMB1 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB1")]
|
#[doc(alias = "DATA2_CMB1")]
|
||||||
pub type Data2Cmb1 = crate::Reg<data2_cmb1::Data2Cmb1Spec>;
|
pub type Data2Cmb1 = crate::Reg<data2_cmb1::Data2Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb1;
|
pub mod data2_cmb1;
|
||||||
#[doc = "DATA1_CMB1 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb1`]
|
#[doc = "DATA1_CMB1 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB1")]
|
#[doc(alias = "DATA1_CMB1")]
|
||||||
pub type Data1Cmb1 = crate::Reg<data1_cmb1::Data1Cmb1Spec>;
|
pub type Data1Cmb1 = crate::Reg<data1_cmb1::Data1Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb1;
|
pub mod data1_cmb1;
|
||||||
#[doc = "DATA0_CMB1 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb1`]
|
#[doc = "DATA0_CMB1 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB1")]
|
#[doc(alias = "DATA0_CMB1")]
|
||||||
pub type Data0Cmb1 = crate::Reg<data0_cmb1::Data0Cmb1Spec>;
|
pub type Data0Cmb1 = crate::Reg<data0_cmb1::Data0Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb1;
|
pub mod data0_cmb1;
|
||||||
#[doc = "ID0_CMB1 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb1`]
|
#[doc = "ID0_CMB1 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB1")]
|
#[doc(alias = "ID0_CMB1")]
|
||||||
pub type Id0Cmb1 = crate::Reg<id0_cmb1::Id0Cmb1Spec>;
|
pub type Id0Cmb1 = crate::Reg<id0_cmb1::Id0Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb1;
|
pub mod id0_cmb1;
|
||||||
#[doc = "ID1_CMB1 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb1`]
|
#[doc = "ID1_CMB1 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb1`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB1")]
|
#[doc(alias = "ID1_CMB1")]
|
||||||
pub type Id1Cmb1 = crate::Reg<id1_cmb1::Id1Cmb1Spec>;
|
pub type Id1Cmb1 = crate::Reg<id1_cmb1::Id1Cmb1Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb1;
|
pub mod id1_cmb1;
|
||||||
#[doc = "CNSTAT_CMB2 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb2`]
|
#[doc = "CNSTAT_CMB2 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB2")]
|
#[doc(alias = "CNSTAT_CMB2")]
|
||||||
pub type CnstatCmb2 = crate::Reg<cnstat_cmb2::CnstatCmb2Spec>;
|
pub type CnstatCmb2 = crate::Reg<cnstat_cmb2::CnstatCmb2Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb2;
|
pub mod cnstat_cmb2;
|
||||||
#[doc = "TSTP_CMB2 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb2`]
|
#[doc = "TSTP_CMB2 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB2")]
|
#[doc(alias = "TSTP_CMB2")]
|
||||||
pub type TstpCmb2 = crate::Reg<tstp_cmb2::TstpCmb2Spec>;
|
pub type TstpCmb2 = crate::Reg<tstp_cmb2::TstpCmb2Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb2;
|
pub mod tstp_cmb2;
|
||||||
#[doc = "DATA3_CMB2 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb2`]
|
#[doc = "DATA3_CMB2 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB2")]
|
#[doc(alias = "DATA3_CMB2")]
|
||||||
pub type Data3Cmb2 = crate::Reg<data3_cmb2::Data3Cmb2Spec>;
|
pub type Data3Cmb2 = crate::Reg<data3_cmb2::Data3Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb2;
|
pub mod data3_cmb2;
|
||||||
#[doc = "DATA2_CMB2 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb2`]
|
#[doc = "DATA2_CMB2 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB2")]
|
#[doc(alias = "DATA2_CMB2")]
|
||||||
pub type Data2Cmb2 = crate::Reg<data2_cmb2::Data2Cmb2Spec>;
|
pub type Data2Cmb2 = crate::Reg<data2_cmb2::Data2Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb2;
|
pub mod data2_cmb2;
|
||||||
#[doc = "DATA1_CMB2 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb2`]
|
#[doc = "DATA1_CMB2 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB2")]
|
#[doc(alias = "DATA1_CMB2")]
|
||||||
pub type Data1Cmb2 = crate::Reg<data1_cmb2::Data1Cmb2Spec>;
|
pub type Data1Cmb2 = crate::Reg<data1_cmb2::Data1Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb2;
|
pub mod data1_cmb2;
|
||||||
#[doc = "DATA0_CMB2 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb2`]
|
#[doc = "DATA0_CMB2 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB2")]
|
#[doc(alias = "DATA0_CMB2")]
|
||||||
pub type Data0Cmb2 = crate::Reg<data0_cmb2::Data0Cmb2Spec>;
|
pub type Data0Cmb2 = crate::Reg<data0_cmb2::Data0Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb2;
|
pub mod data0_cmb2;
|
||||||
#[doc = "ID0_CMB2 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb2`]
|
#[doc = "ID0_CMB2 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB2")]
|
#[doc(alias = "ID0_CMB2")]
|
||||||
pub type Id0Cmb2 = crate::Reg<id0_cmb2::Id0Cmb2Spec>;
|
pub type Id0Cmb2 = crate::Reg<id0_cmb2::Id0Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb2;
|
pub mod id0_cmb2;
|
||||||
#[doc = "ID1_CMB2 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb2`]
|
#[doc = "ID1_CMB2 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb2`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB2")]
|
#[doc(alias = "ID1_CMB2")]
|
||||||
pub type Id1Cmb2 = crate::Reg<id1_cmb2::Id1Cmb2Spec>;
|
pub type Id1Cmb2 = crate::Reg<id1_cmb2::Id1Cmb2Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb2;
|
pub mod id1_cmb2;
|
||||||
#[doc = "CNSTAT_CMB3 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb3`]
|
#[doc = "CNSTAT_CMB3 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB3")]
|
#[doc(alias = "CNSTAT_CMB3")]
|
||||||
pub type CnstatCmb3 = crate::Reg<cnstat_cmb3::CnstatCmb3Spec>;
|
pub type CnstatCmb3 = crate::Reg<cnstat_cmb3::CnstatCmb3Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb3;
|
pub mod cnstat_cmb3;
|
||||||
#[doc = "TSTP_CMB3 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb3`]
|
#[doc = "TSTP_CMB3 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB3")]
|
#[doc(alias = "TSTP_CMB3")]
|
||||||
pub type TstpCmb3 = crate::Reg<tstp_cmb3::TstpCmb3Spec>;
|
pub type TstpCmb3 = crate::Reg<tstp_cmb3::TstpCmb3Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb3;
|
pub mod tstp_cmb3;
|
||||||
#[doc = "DATA3_CMB3 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb3`]
|
#[doc = "DATA3_CMB3 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB3")]
|
#[doc(alias = "DATA3_CMB3")]
|
||||||
pub type Data3Cmb3 = crate::Reg<data3_cmb3::Data3Cmb3Spec>;
|
pub type Data3Cmb3 = crate::Reg<data3_cmb3::Data3Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb3;
|
pub mod data3_cmb3;
|
||||||
#[doc = "DATA2_CMB3 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb3`]
|
#[doc = "DATA2_CMB3 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB3")]
|
#[doc(alias = "DATA2_CMB3")]
|
||||||
pub type Data2Cmb3 = crate::Reg<data2_cmb3::Data2Cmb3Spec>;
|
pub type Data2Cmb3 = crate::Reg<data2_cmb3::Data2Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb3;
|
pub mod data2_cmb3;
|
||||||
#[doc = "DATA1_CMB3 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb3`]
|
#[doc = "DATA1_CMB3 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB3")]
|
#[doc(alias = "DATA1_CMB3")]
|
||||||
pub type Data1Cmb3 = crate::Reg<data1_cmb3::Data1Cmb3Spec>;
|
pub type Data1Cmb3 = crate::Reg<data1_cmb3::Data1Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb3;
|
pub mod data1_cmb3;
|
||||||
#[doc = "DATA0_CMB3 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb3`]
|
#[doc = "DATA0_CMB3 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB3")]
|
#[doc(alias = "DATA0_CMB3")]
|
||||||
pub type Data0Cmb3 = crate::Reg<data0_cmb3::Data0Cmb3Spec>;
|
pub type Data0Cmb3 = crate::Reg<data0_cmb3::Data0Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb3;
|
pub mod data0_cmb3;
|
||||||
#[doc = "ID0_CMB3 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb3`]
|
#[doc = "ID0_CMB3 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB3")]
|
#[doc(alias = "ID0_CMB3")]
|
||||||
pub type Id0Cmb3 = crate::Reg<id0_cmb3::Id0Cmb3Spec>;
|
pub type Id0Cmb3 = crate::Reg<id0_cmb3::Id0Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb3;
|
pub mod id0_cmb3;
|
||||||
#[doc = "ID1_CMB3 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb3::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb3::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb3`]
|
#[doc = "ID1_CMB3 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb3`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB3")]
|
#[doc(alias = "ID1_CMB3")]
|
||||||
pub type Id1Cmb3 = crate::Reg<id1_cmb3::Id1Cmb3Spec>;
|
pub type Id1Cmb3 = crate::Reg<id1_cmb3::Id1Cmb3Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb3;
|
pub mod id1_cmb3;
|
||||||
#[doc = "CNSTAT_CMB4 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb4`]
|
#[doc = "CNSTAT_CMB4 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB4")]
|
#[doc(alias = "CNSTAT_CMB4")]
|
||||||
pub type CnstatCmb4 = crate::Reg<cnstat_cmb4::CnstatCmb4Spec>;
|
pub type CnstatCmb4 = crate::Reg<cnstat_cmb4::CnstatCmb4Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb4;
|
pub mod cnstat_cmb4;
|
||||||
#[doc = "TSTP_CMB4 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb4`]
|
#[doc = "TSTP_CMB4 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB4")]
|
#[doc(alias = "TSTP_CMB4")]
|
||||||
pub type TstpCmb4 = crate::Reg<tstp_cmb4::TstpCmb4Spec>;
|
pub type TstpCmb4 = crate::Reg<tstp_cmb4::TstpCmb4Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb4;
|
pub mod tstp_cmb4;
|
||||||
#[doc = "DATA3_CMB4 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb4`]
|
#[doc = "DATA3_CMB4 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB4")]
|
#[doc(alias = "DATA3_CMB4")]
|
||||||
pub type Data3Cmb4 = crate::Reg<data3_cmb4::Data3Cmb4Spec>;
|
pub type Data3Cmb4 = crate::Reg<data3_cmb4::Data3Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb4;
|
pub mod data3_cmb4;
|
||||||
#[doc = "DATA2_CMB4 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb4`]
|
#[doc = "DATA2_CMB4 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB4")]
|
#[doc(alias = "DATA2_CMB4")]
|
||||||
pub type Data2Cmb4 = crate::Reg<data2_cmb4::Data2Cmb4Spec>;
|
pub type Data2Cmb4 = crate::Reg<data2_cmb4::Data2Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb4;
|
pub mod data2_cmb4;
|
||||||
#[doc = "DATA1_CMB4 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb4`]
|
#[doc = "DATA1_CMB4 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB4")]
|
#[doc(alias = "DATA1_CMB4")]
|
||||||
pub type Data1Cmb4 = crate::Reg<data1_cmb4::Data1Cmb4Spec>;
|
pub type Data1Cmb4 = crate::Reg<data1_cmb4::Data1Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb4;
|
pub mod data1_cmb4;
|
||||||
#[doc = "DATA0_CMB4 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb4`]
|
#[doc = "DATA0_CMB4 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB4")]
|
#[doc(alias = "DATA0_CMB4")]
|
||||||
pub type Data0Cmb4 = crate::Reg<data0_cmb4::Data0Cmb4Spec>;
|
pub type Data0Cmb4 = crate::Reg<data0_cmb4::Data0Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb4;
|
pub mod data0_cmb4;
|
||||||
#[doc = "ID0_CMB4 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb4`]
|
#[doc = "ID0_CMB4 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB4")]
|
#[doc(alias = "ID0_CMB4")]
|
||||||
pub type Id0Cmb4 = crate::Reg<id0_cmb4::Id0Cmb4Spec>;
|
pub type Id0Cmb4 = crate::Reg<id0_cmb4::Id0Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb4;
|
pub mod id0_cmb4;
|
||||||
#[doc = "ID1_CMB4 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb4::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb4::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb4`]
|
#[doc = "ID1_CMB4 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb4::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb4`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB4")]
|
#[doc(alias = "ID1_CMB4")]
|
||||||
pub type Id1Cmb4 = crate::Reg<id1_cmb4::Id1Cmb4Spec>;
|
pub type Id1Cmb4 = crate::Reg<id1_cmb4::Id1Cmb4Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb4;
|
pub mod id1_cmb4;
|
||||||
#[doc = "CNSTAT_CMB5 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb5`]
|
#[doc = "CNSTAT_CMB5 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB5")]
|
#[doc(alias = "CNSTAT_CMB5")]
|
||||||
pub type CnstatCmb5 = crate::Reg<cnstat_cmb5::CnstatCmb5Spec>;
|
pub type CnstatCmb5 = crate::Reg<cnstat_cmb5::CnstatCmb5Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb5;
|
pub mod cnstat_cmb5;
|
||||||
#[doc = "TSTP_CMB5 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb5`]
|
#[doc = "TSTP_CMB5 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB5")]
|
#[doc(alias = "TSTP_CMB5")]
|
||||||
pub type TstpCmb5 = crate::Reg<tstp_cmb5::TstpCmb5Spec>;
|
pub type TstpCmb5 = crate::Reg<tstp_cmb5::TstpCmb5Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb5;
|
pub mod tstp_cmb5;
|
||||||
#[doc = "DATA3_CMB5 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb5`]
|
#[doc = "DATA3_CMB5 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB5")]
|
#[doc(alias = "DATA3_CMB5")]
|
||||||
pub type Data3Cmb5 = crate::Reg<data3_cmb5::Data3Cmb5Spec>;
|
pub type Data3Cmb5 = crate::Reg<data3_cmb5::Data3Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb5;
|
pub mod data3_cmb5;
|
||||||
#[doc = "DATA2_CMB5 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb5`]
|
#[doc = "DATA2_CMB5 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB5")]
|
#[doc(alias = "DATA2_CMB5")]
|
||||||
pub type Data2Cmb5 = crate::Reg<data2_cmb5::Data2Cmb5Spec>;
|
pub type Data2Cmb5 = crate::Reg<data2_cmb5::Data2Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb5;
|
pub mod data2_cmb5;
|
||||||
#[doc = "DATA1_CMB5 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb5`]
|
#[doc = "DATA1_CMB5 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB5")]
|
#[doc(alias = "DATA1_CMB5")]
|
||||||
pub type Data1Cmb5 = crate::Reg<data1_cmb5::Data1Cmb5Spec>;
|
pub type Data1Cmb5 = crate::Reg<data1_cmb5::Data1Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb5;
|
pub mod data1_cmb5;
|
||||||
#[doc = "DATA0_CMB5 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb5`]
|
#[doc = "DATA0_CMB5 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB5")]
|
#[doc(alias = "DATA0_CMB5")]
|
||||||
pub type Data0Cmb5 = crate::Reg<data0_cmb5::Data0Cmb5Spec>;
|
pub type Data0Cmb5 = crate::Reg<data0_cmb5::Data0Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb5;
|
pub mod data0_cmb5;
|
||||||
#[doc = "ID0_CMB5 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb5`]
|
#[doc = "ID0_CMB5 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB5")]
|
#[doc(alias = "ID0_CMB5")]
|
||||||
pub type Id0Cmb5 = crate::Reg<id0_cmb5::Id0Cmb5Spec>;
|
pub type Id0Cmb5 = crate::Reg<id0_cmb5::Id0Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb5;
|
pub mod id0_cmb5;
|
||||||
#[doc = "ID1_CMB5 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb5::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb5::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb5`]
|
#[doc = "ID1_CMB5 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb5::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb5`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB5")]
|
#[doc(alias = "ID1_CMB5")]
|
||||||
pub type Id1Cmb5 = crate::Reg<id1_cmb5::Id1Cmb5Spec>;
|
pub type Id1Cmb5 = crate::Reg<id1_cmb5::Id1Cmb5Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb5;
|
pub mod id1_cmb5;
|
||||||
#[doc = "CNSTAT_CMB6 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb6`]
|
#[doc = "CNSTAT_CMB6 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB6")]
|
#[doc(alias = "CNSTAT_CMB6")]
|
||||||
pub type CnstatCmb6 = crate::Reg<cnstat_cmb6::CnstatCmb6Spec>;
|
pub type CnstatCmb6 = crate::Reg<cnstat_cmb6::CnstatCmb6Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb6;
|
pub mod cnstat_cmb6;
|
||||||
#[doc = "TSTP_CMB6 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb6`]
|
#[doc = "TSTP_CMB6 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB6")]
|
#[doc(alias = "TSTP_CMB6")]
|
||||||
pub type TstpCmb6 = crate::Reg<tstp_cmb6::TstpCmb6Spec>;
|
pub type TstpCmb6 = crate::Reg<tstp_cmb6::TstpCmb6Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb6;
|
pub mod tstp_cmb6;
|
||||||
#[doc = "DATA3_CMB6 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb6`]
|
#[doc = "DATA3_CMB6 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB6")]
|
#[doc(alias = "DATA3_CMB6")]
|
||||||
pub type Data3Cmb6 = crate::Reg<data3_cmb6::Data3Cmb6Spec>;
|
pub type Data3Cmb6 = crate::Reg<data3_cmb6::Data3Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb6;
|
pub mod data3_cmb6;
|
||||||
#[doc = "DATA2_CMB6 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb6`]
|
#[doc = "DATA2_CMB6 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB6")]
|
#[doc(alias = "DATA2_CMB6")]
|
||||||
pub type Data2Cmb6 = crate::Reg<data2_cmb6::Data2Cmb6Spec>;
|
pub type Data2Cmb6 = crate::Reg<data2_cmb6::Data2Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb6;
|
pub mod data2_cmb6;
|
||||||
#[doc = "DATA1_CMB6 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb6`]
|
#[doc = "DATA1_CMB6 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB6")]
|
#[doc(alias = "DATA1_CMB6")]
|
||||||
pub type Data1Cmb6 = crate::Reg<data1_cmb6::Data1Cmb6Spec>;
|
pub type Data1Cmb6 = crate::Reg<data1_cmb6::Data1Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb6;
|
pub mod data1_cmb6;
|
||||||
#[doc = "DATA0_CMB6 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb6`]
|
#[doc = "DATA0_CMB6 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB6")]
|
#[doc(alias = "DATA0_CMB6")]
|
||||||
pub type Data0Cmb6 = crate::Reg<data0_cmb6::Data0Cmb6Spec>;
|
pub type Data0Cmb6 = crate::Reg<data0_cmb6::Data0Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb6;
|
pub mod data0_cmb6;
|
||||||
#[doc = "ID0_CMB6 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb6`]
|
#[doc = "ID0_CMB6 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB6")]
|
#[doc(alias = "ID0_CMB6")]
|
||||||
pub type Id0Cmb6 = crate::Reg<id0_cmb6::Id0Cmb6Spec>;
|
pub type Id0Cmb6 = crate::Reg<id0_cmb6::Id0Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb6;
|
pub mod id0_cmb6;
|
||||||
#[doc = "ID1_CMB6 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb6::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb6::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb6`]
|
#[doc = "ID1_CMB6 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb6::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb6`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB6")]
|
#[doc(alias = "ID1_CMB6")]
|
||||||
pub type Id1Cmb6 = crate::Reg<id1_cmb6::Id1Cmb6Spec>;
|
pub type Id1Cmb6 = crate::Reg<id1_cmb6::Id1Cmb6Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb6;
|
pub mod id1_cmb6;
|
||||||
#[doc = "CNSTAT_CMB7 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb7`]
|
#[doc = "CNSTAT_CMB7 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB7")]
|
#[doc(alias = "CNSTAT_CMB7")]
|
||||||
pub type CnstatCmb7 = crate::Reg<cnstat_cmb7::CnstatCmb7Spec>;
|
pub type CnstatCmb7 = crate::Reg<cnstat_cmb7::CnstatCmb7Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb7;
|
pub mod cnstat_cmb7;
|
||||||
#[doc = "TSTP_CMB7 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb7`]
|
#[doc = "TSTP_CMB7 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB7")]
|
#[doc(alias = "TSTP_CMB7")]
|
||||||
pub type TstpCmb7 = crate::Reg<tstp_cmb7::TstpCmb7Spec>;
|
pub type TstpCmb7 = crate::Reg<tstp_cmb7::TstpCmb7Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb7;
|
pub mod tstp_cmb7;
|
||||||
#[doc = "DATA3_CMB7 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb7`]
|
#[doc = "DATA3_CMB7 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB7")]
|
#[doc(alias = "DATA3_CMB7")]
|
||||||
pub type Data3Cmb7 = crate::Reg<data3_cmb7::Data3Cmb7Spec>;
|
pub type Data3Cmb7 = crate::Reg<data3_cmb7::Data3Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb7;
|
pub mod data3_cmb7;
|
||||||
#[doc = "DATA2_CMB7 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb7`]
|
#[doc = "DATA2_CMB7 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB7")]
|
#[doc(alias = "DATA2_CMB7")]
|
||||||
pub type Data2Cmb7 = crate::Reg<data2_cmb7::Data2Cmb7Spec>;
|
pub type Data2Cmb7 = crate::Reg<data2_cmb7::Data2Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb7;
|
pub mod data2_cmb7;
|
||||||
#[doc = "DATA1_CMB7 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb7`]
|
#[doc = "DATA1_CMB7 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB7")]
|
#[doc(alias = "DATA1_CMB7")]
|
||||||
pub type Data1Cmb7 = crate::Reg<data1_cmb7::Data1Cmb7Spec>;
|
pub type Data1Cmb7 = crate::Reg<data1_cmb7::Data1Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb7;
|
pub mod data1_cmb7;
|
||||||
#[doc = "DATA0_CMB7 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb7`]
|
#[doc = "DATA0_CMB7 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB7")]
|
#[doc(alias = "DATA0_CMB7")]
|
||||||
pub type Data0Cmb7 = crate::Reg<data0_cmb7::Data0Cmb7Spec>;
|
pub type Data0Cmb7 = crate::Reg<data0_cmb7::Data0Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb7;
|
pub mod data0_cmb7;
|
||||||
#[doc = "ID0_CMB7 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb7`]
|
#[doc = "ID0_CMB7 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB7")]
|
#[doc(alias = "ID0_CMB7")]
|
||||||
pub type Id0Cmb7 = crate::Reg<id0_cmb7::Id0Cmb7Spec>;
|
pub type Id0Cmb7 = crate::Reg<id0_cmb7::Id0Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb7;
|
pub mod id0_cmb7;
|
||||||
#[doc = "ID1_CMB7 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb7::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb7::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb7`]
|
#[doc = "ID1_CMB7 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb7::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb7`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB7")]
|
#[doc(alias = "ID1_CMB7")]
|
||||||
pub type Id1Cmb7 = crate::Reg<id1_cmb7::Id1Cmb7Spec>;
|
pub type Id1Cmb7 = crate::Reg<id1_cmb7::Id1Cmb7Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb7;
|
pub mod id1_cmb7;
|
||||||
#[doc = "CNSTAT_CMB8 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb8`]
|
#[doc = "CNSTAT_CMB8 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB8")]
|
#[doc(alias = "CNSTAT_CMB8")]
|
||||||
pub type CnstatCmb8 = crate::Reg<cnstat_cmb8::CnstatCmb8Spec>;
|
pub type CnstatCmb8 = crate::Reg<cnstat_cmb8::CnstatCmb8Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb8;
|
pub mod cnstat_cmb8;
|
||||||
#[doc = "TSTP_CMB8 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb8`]
|
#[doc = "TSTP_CMB8 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB8")]
|
#[doc(alias = "TSTP_CMB8")]
|
||||||
pub type TstpCmb8 = crate::Reg<tstp_cmb8::TstpCmb8Spec>;
|
pub type TstpCmb8 = crate::Reg<tstp_cmb8::TstpCmb8Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb8;
|
pub mod tstp_cmb8;
|
||||||
#[doc = "DATA3_CMB8 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb8`]
|
#[doc = "DATA3_CMB8 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB8")]
|
#[doc(alias = "DATA3_CMB8")]
|
||||||
pub type Data3Cmb8 = crate::Reg<data3_cmb8::Data3Cmb8Spec>;
|
pub type Data3Cmb8 = crate::Reg<data3_cmb8::Data3Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb8;
|
pub mod data3_cmb8;
|
||||||
#[doc = "DATA2_CMB8 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb8`]
|
#[doc = "DATA2_CMB8 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB8")]
|
#[doc(alias = "DATA2_CMB8")]
|
||||||
pub type Data2Cmb8 = crate::Reg<data2_cmb8::Data2Cmb8Spec>;
|
pub type Data2Cmb8 = crate::Reg<data2_cmb8::Data2Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb8;
|
pub mod data2_cmb8;
|
||||||
#[doc = "DATA1_CMB8 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb8`]
|
#[doc = "DATA1_CMB8 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB8")]
|
#[doc(alias = "DATA1_CMB8")]
|
||||||
pub type Data1Cmb8 = crate::Reg<data1_cmb8::Data1Cmb8Spec>;
|
pub type Data1Cmb8 = crate::Reg<data1_cmb8::Data1Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb8;
|
pub mod data1_cmb8;
|
||||||
#[doc = "DATA0_CMB8 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb8`]
|
#[doc = "DATA0_CMB8 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB8")]
|
#[doc(alias = "DATA0_CMB8")]
|
||||||
pub type Data0Cmb8 = crate::Reg<data0_cmb8::Data0Cmb8Spec>;
|
pub type Data0Cmb8 = crate::Reg<data0_cmb8::Data0Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb8;
|
pub mod data0_cmb8;
|
||||||
#[doc = "ID0_CMB8 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb8`]
|
#[doc = "ID0_CMB8 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB8")]
|
#[doc(alias = "ID0_CMB8")]
|
||||||
pub type Id0Cmb8 = crate::Reg<id0_cmb8::Id0Cmb8Spec>;
|
pub type Id0Cmb8 = crate::Reg<id0_cmb8::Id0Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb8;
|
pub mod id0_cmb8;
|
||||||
#[doc = "ID1_CMB8 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb8::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb8::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb8`]
|
#[doc = "ID1_CMB8 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb8::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb8`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB8")]
|
#[doc(alias = "ID1_CMB8")]
|
||||||
pub type Id1Cmb8 = crate::Reg<id1_cmb8::Id1Cmb8Spec>;
|
pub type Id1Cmb8 = crate::Reg<id1_cmb8::Id1Cmb8Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb8;
|
pub mod id1_cmb8;
|
||||||
#[doc = "CNSTAT_CMB9 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb9`]
|
#[doc = "CNSTAT_CMB9 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB9")]
|
#[doc(alias = "CNSTAT_CMB9")]
|
||||||
pub type CnstatCmb9 = crate::Reg<cnstat_cmb9::CnstatCmb9Spec>;
|
pub type CnstatCmb9 = crate::Reg<cnstat_cmb9::CnstatCmb9Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb9;
|
pub mod cnstat_cmb9;
|
||||||
#[doc = "TSTP_CMB9 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb9`]
|
#[doc = "TSTP_CMB9 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB9")]
|
#[doc(alias = "TSTP_CMB9")]
|
||||||
pub type TstpCmb9 = crate::Reg<tstp_cmb9::TstpCmb9Spec>;
|
pub type TstpCmb9 = crate::Reg<tstp_cmb9::TstpCmb9Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb9;
|
pub mod tstp_cmb9;
|
||||||
#[doc = "DATA3_CMB9 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb9`]
|
#[doc = "DATA3_CMB9 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB9")]
|
#[doc(alias = "DATA3_CMB9")]
|
||||||
pub type Data3Cmb9 = crate::Reg<data3_cmb9::Data3Cmb9Spec>;
|
pub type Data3Cmb9 = crate::Reg<data3_cmb9::Data3Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb9;
|
pub mod data3_cmb9;
|
||||||
#[doc = "DATA2_CMB9 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb9`]
|
#[doc = "DATA2_CMB9 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB9")]
|
#[doc(alias = "DATA2_CMB9")]
|
||||||
pub type Data2Cmb9 = crate::Reg<data2_cmb9::Data2Cmb9Spec>;
|
pub type Data2Cmb9 = crate::Reg<data2_cmb9::Data2Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb9;
|
pub mod data2_cmb9;
|
||||||
#[doc = "DATA1_CMB9 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb9`]
|
#[doc = "DATA1_CMB9 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB9")]
|
#[doc(alias = "DATA1_CMB9")]
|
||||||
pub type Data1Cmb9 = crate::Reg<data1_cmb9::Data1Cmb9Spec>;
|
pub type Data1Cmb9 = crate::Reg<data1_cmb9::Data1Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb9;
|
pub mod data1_cmb9;
|
||||||
#[doc = "DATA0_CMB9 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb9`]
|
#[doc = "DATA0_CMB9 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB9")]
|
#[doc(alias = "DATA0_CMB9")]
|
||||||
pub type Data0Cmb9 = crate::Reg<data0_cmb9::Data0Cmb9Spec>;
|
pub type Data0Cmb9 = crate::Reg<data0_cmb9::Data0Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb9;
|
pub mod data0_cmb9;
|
||||||
#[doc = "ID0_CMB9 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb9`]
|
#[doc = "ID0_CMB9 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB9")]
|
#[doc(alias = "ID0_CMB9")]
|
||||||
pub type Id0Cmb9 = crate::Reg<id0_cmb9::Id0Cmb9Spec>;
|
pub type Id0Cmb9 = crate::Reg<id0_cmb9::Id0Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb9;
|
pub mod id0_cmb9;
|
||||||
#[doc = "ID1_CMB9 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb9::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb9::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb9`]
|
#[doc = "ID1_CMB9 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb9::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb9`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB9")]
|
#[doc(alias = "ID1_CMB9")]
|
||||||
pub type Id1Cmb9 = crate::Reg<id1_cmb9::Id1Cmb9Spec>;
|
pub type Id1Cmb9 = crate::Reg<id1_cmb9::Id1Cmb9Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb9;
|
pub mod id1_cmb9;
|
||||||
#[doc = "CNSTAT_CMB10 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb10`]
|
#[doc = "CNSTAT_CMB10 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB10")]
|
#[doc(alias = "CNSTAT_CMB10")]
|
||||||
pub type CnstatCmb10 = crate::Reg<cnstat_cmb10::CnstatCmb10Spec>;
|
pub type CnstatCmb10 = crate::Reg<cnstat_cmb10::CnstatCmb10Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb10;
|
pub mod cnstat_cmb10;
|
||||||
#[doc = "TSTP_CMB10 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb10`]
|
#[doc = "TSTP_CMB10 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB10")]
|
#[doc(alias = "TSTP_CMB10")]
|
||||||
pub type TstpCmb10 = crate::Reg<tstp_cmb10::TstpCmb10Spec>;
|
pub type TstpCmb10 = crate::Reg<tstp_cmb10::TstpCmb10Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb10;
|
pub mod tstp_cmb10;
|
||||||
#[doc = "DATA3_CMB10 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb10`]
|
#[doc = "DATA3_CMB10 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB10")]
|
#[doc(alias = "DATA3_CMB10")]
|
||||||
pub type Data3Cmb10 = crate::Reg<data3_cmb10::Data3Cmb10Spec>;
|
pub type Data3Cmb10 = crate::Reg<data3_cmb10::Data3Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb10;
|
pub mod data3_cmb10;
|
||||||
#[doc = "DATA2_CMB10 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb10`]
|
#[doc = "DATA2_CMB10 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB10")]
|
#[doc(alias = "DATA2_CMB10")]
|
||||||
pub type Data2Cmb10 = crate::Reg<data2_cmb10::Data2Cmb10Spec>;
|
pub type Data2Cmb10 = crate::Reg<data2_cmb10::Data2Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb10;
|
pub mod data2_cmb10;
|
||||||
#[doc = "DATA1_CMB10 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb10`]
|
#[doc = "DATA1_CMB10 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB10")]
|
#[doc(alias = "DATA1_CMB10")]
|
||||||
pub type Data1Cmb10 = crate::Reg<data1_cmb10::Data1Cmb10Spec>;
|
pub type Data1Cmb10 = crate::Reg<data1_cmb10::Data1Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb10;
|
pub mod data1_cmb10;
|
||||||
#[doc = "DATA0_CMB10 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb10`]
|
#[doc = "DATA0_CMB10 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB10")]
|
#[doc(alias = "DATA0_CMB10")]
|
||||||
pub type Data0Cmb10 = crate::Reg<data0_cmb10::Data0Cmb10Spec>;
|
pub type Data0Cmb10 = crate::Reg<data0_cmb10::Data0Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb10;
|
pub mod data0_cmb10;
|
||||||
#[doc = "ID0_CMB10 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb10`]
|
#[doc = "ID0_CMB10 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB10")]
|
#[doc(alias = "ID0_CMB10")]
|
||||||
pub type Id0Cmb10 = crate::Reg<id0_cmb10::Id0Cmb10Spec>;
|
pub type Id0Cmb10 = crate::Reg<id0_cmb10::Id0Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb10;
|
pub mod id0_cmb10;
|
||||||
#[doc = "ID1_CMB10 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb10::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb10::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb10`]
|
#[doc = "ID1_CMB10 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb10::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb10`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB10")]
|
#[doc(alias = "ID1_CMB10")]
|
||||||
pub type Id1Cmb10 = crate::Reg<id1_cmb10::Id1Cmb10Spec>;
|
pub type Id1Cmb10 = crate::Reg<id1_cmb10::Id1Cmb10Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb10;
|
pub mod id1_cmb10;
|
||||||
#[doc = "CNSTAT_CMB11 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb11`]
|
#[doc = "CNSTAT_CMB11 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB11")]
|
#[doc(alias = "CNSTAT_CMB11")]
|
||||||
pub type CnstatCmb11 = crate::Reg<cnstat_cmb11::CnstatCmb11Spec>;
|
pub type CnstatCmb11 = crate::Reg<cnstat_cmb11::CnstatCmb11Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb11;
|
pub mod cnstat_cmb11;
|
||||||
#[doc = "TSTP_CMB11 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb11`]
|
#[doc = "TSTP_CMB11 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB11")]
|
#[doc(alias = "TSTP_CMB11")]
|
||||||
pub type TstpCmb11 = crate::Reg<tstp_cmb11::TstpCmb11Spec>;
|
pub type TstpCmb11 = crate::Reg<tstp_cmb11::TstpCmb11Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb11;
|
pub mod tstp_cmb11;
|
||||||
#[doc = "DATA3_CMB11 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb11`]
|
#[doc = "DATA3_CMB11 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB11")]
|
#[doc(alias = "DATA3_CMB11")]
|
||||||
pub type Data3Cmb11 = crate::Reg<data3_cmb11::Data3Cmb11Spec>;
|
pub type Data3Cmb11 = crate::Reg<data3_cmb11::Data3Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb11;
|
pub mod data3_cmb11;
|
||||||
#[doc = "DATA2_CMB11 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb11`]
|
#[doc = "DATA2_CMB11 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB11")]
|
#[doc(alias = "DATA2_CMB11")]
|
||||||
pub type Data2Cmb11 = crate::Reg<data2_cmb11::Data2Cmb11Spec>;
|
pub type Data2Cmb11 = crate::Reg<data2_cmb11::Data2Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb11;
|
pub mod data2_cmb11;
|
||||||
#[doc = "DATA1_CMB11 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb11`]
|
#[doc = "DATA1_CMB11 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB11")]
|
#[doc(alias = "DATA1_CMB11")]
|
||||||
pub type Data1Cmb11 = crate::Reg<data1_cmb11::Data1Cmb11Spec>;
|
pub type Data1Cmb11 = crate::Reg<data1_cmb11::Data1Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb11;
|
pub mod data1_cmb11;
|
||||||
#[doc = "DATA0_CMB11 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb11`]
|
#[doc = "DATA0_CMB11 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB11")]
|
#[doc(alias = "DATA0_CMB11")]
|
||||||
pub type Data0Cmb11 = crate::Reg<data0_cmb11::Data0Cmb11Spec>;
|
pub type Data0Cmb11 = crate::Reg<data0_cmb11::Data0Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb11;
|
pub mod data0_cmb11;
|
||||||
#[doc = "ID0_CMB11 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb11`]
|
#[doc = "ID0_CMB11 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB11")]
|
#[doc(alias = "ID0_CMB11")]
|
||||||
pub type Id0Cmb11 = crate::Reg<id0_cmb11::Id0Cmb11Spec>;
|
pub type Id0Cmb11 = crate::Reg<id0_cmb11::Id0Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb11;
|
pub mod id0_cmb11;
|
||||||
#[doc = "ID1_CMB11 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb11::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb11::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb11`]
|
#[doc = "ID1_CMB11 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb11::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb11`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB11")]
|
#[doc(alias = "ID1_CMB11")]
|
||||||
pub type Id1Cmb11 = crate::Reg<id1_cmb11::Id1Cmb11Spec>;
|
pub type Id1Cmb11 = crate::Reg<id1_cmb11::Id1Cmb11Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb11;
|
pub mod id1_cmb11;
|
||||||
#[doc = "CNSTAT_CMB12 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb12`]
|
#[doc = "CNSTAT_CMB12 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB12")]
|
#[doc(alias = "CNSTAT_CMB12")]
|
||||||
pub type CnstatCmb12 = crate::Reg<cnstat_cmb12::CnstatCmb12Spec>;
|
pub type CnstatCmb12 = crate::Reg<cnstat_cmb12::CnstatCmb12Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb12;
|
pub mod cnstat_cmb12;
|
||||||
#[doc = "TSTP_CMB12 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb12`]
|
#[doc = "TSTP_CMB12 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB12")]
|
#[doc(alias = "TSTP_CMB12")]
|
||||||
pub type TstpCmb12 = crate::Reg<tstp_cmb12::TstpCmb12Spec>;
|
pub type TstpCmb12 = crate::Reg<tstp_cmb12::TstpCmb12Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb12;
|
pub mod tstp_cmb12;
|
||||||
#[doc = "DATA3_CMB12 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb12`]
|
#[doc = "DATA3_CMB12 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB12")]
|
#[doc(alias = "DATA3_CMB12")]
|
||||||
pub type Data3Cmb12 = crate::Reg<data3_cmb12::Data3Cmb12Spec>;
|
pub type Data3Cmb12 = crate::Reg<data3_cmb12::Data3Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb12;
|
pub mod data3_cmb12;
|
||||||
#[doc = "DATA2_CMB12 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb12`]
|
#[doc = "DATA2_CMB12 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB12")]
|
#[doc(alias = "DATA2_CMB12")]
|
||||||
pub type Data2Cmb12 = crate::Reg<data2_cmb12::Data2Cmb12Spec>;
|
pub type Data2Cmb12 = crate::Reg<data2_cmb12::Data2Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb12;
|
pub mod data2_cmb12;
|
||||||
#[doc = "DATA1_CMB12 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb12`]
|
#[doc = "DATA1_CMB12 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB12")]
|
#[doc(alias = "DATA1_CMB12")]
|
||||||
pub type Data1Cmb12 = crate::Reg<data1_cmb12::Data1Cmb12Spec>;
|
pub type Data1Cmb12 = crate::Reg<data1_cmb12::Data1Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb12;
|
pub mod data1_cmb12;
|
||||||
#[doc = "DATA0_CMB12 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb12`]
|
#[doc = "DATA0_CMB12 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB12")]
|
#[doc(alias = "DATA0_CMB12")]
|
||||||
pub type Data0Cmb12 = crate::Reg<data0_cmb12::Data0Cmb12Spec>;
|
pub type Data0Cmb12 = crate::Reg<data0_cmb12::Data0Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb12;
|
pub mod data0_cmb12;
|
||||||
#[doc = "ID0_CMB12 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb12`]
|
#[doc = "ID0_CMB12 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB12")]
|
#[doc(alias = "ID0_CMB12")]
|
||||||
pub type Id0Cmb12 = crate::Reg<id0_cmb12::Id0Cmb12Spec>;
|
pub type Id0Cmb12 = crate::Reg<id0_cmb12::Id0Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb12;
|
pub mod id0_cmb12;
|
||||||
#[doc = "ID1_CMB12 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb12::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb12::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb12`]
|
#[doc = "ID1_CMB12 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb12::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb12`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB12")]
|
#[doc(alias = "ID1_CMB12")]
|
||||||
pub type Id1Cmb12 = crate::Reg<id1_cmb12::Id1Cmb12Spec>;
|
pub type Id1Cmb12 = crate::Reg<id1_cmb12::Id1Cmb12Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb12;
|
pub mod id1_cmb12;
|
||||||
#[doc = "CNSTAT_CMB13 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb13`]
|
#[doc = "CNSTAT_CMB13 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB13")]
|
#[doc(alias = "CNSTAT_CMB13")]
|
||||||
pub type CnstatCmb13 = crate::Reg<cnstat_cmb13::CnstatCmb13Spec>;
|
pub type CnstatCmb13 = crate::Reg<cnstat_cmb13::CnstatCmb13Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb13;
|
pub mod cnstat_cmb13;
|
||||||
#[doc = "TSTP_CMB13 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb13`]
|
#[doc = "TSTP_CMB13 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB13")]
|
#[doc(alias = "TSTP_CMB13")]
|
||||||
pub type TstpCmb13 = crate::Reg<tstp_cmb13::TstpCmb13Spec>;
|
pub type TstpCmb13 = crate::Reg<tstp_cmb13::TstpCmb13Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb13;
|
pub mod tstp_cmb13;
|
||||||
#[doc = "DATA3_CMB13 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb13`]
|
#[doc = "DATA3_CMB13 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB13")]
|
#[doc(alias = "DATA3_CMB13")]
|
||||||
pub type Data3Cmb13 = crate::Reg<data3_cmb13::Data3Cmb13Spec>;
|
pub type Data3Cmb13 = crate::Reg<data3_cmb13::Data3Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb13;
|
pub mod data3_cmb13;
|
||||||
#[doc = "DATA2_CMB13 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb13`]
|
#[doc = "DATA2_CMB13 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB13")]
|
#[doc(alias = "DATA2_CMB13")]
|
||||||
pub type Data2Cmb13 = crate::Reg<data2_cmb13::Data2Cmb13Spec>;
|
pub type Data2Cmb13 = crate::Reg<data2_cmb13::Data2Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb13;
|
pub mod data2_cmb13;
|
||||||
#[doc = "DATA1_CMB13 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb13`]
|
#[doc = "DATA1_CMB13 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB13")]
|
#[doc(alias = "DATA1_CMB13")]
|
||||||
pub type Data1Cmb13 = crate::Reg<data1_cmb13::Data1Cmb13Spec>;
|
pub type Data1Cmb13 = crate::Reg<data1_cmb13::Data1Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb13;
|
pub mod data1_cmb13;
|
||||||
#[doc = "DATA0_CMB13 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb13`]
|
#[doc = "DATA0_CMB13 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB13")]
|
#[doc(alias = "DATA0_CMB13")]
|
||||||
pub type Data0Cmb13 = crate::Reg<data0_cmb13::Data0Cmb13Spec>;
|
pub type Data0Cmb13 = crate::Reg<data0_cmb13::Data0Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb13;
|
pub mod data0_cmb13;
|
||||||
#[doc = "ID0_CMB13 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb13`]
|
#[doc = "ID0_CMB13 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB13")]
|
#[doc(alias = "ID0_CMB13")]
|
||||||
pub type Id0Cmb13 = crate::Reg<id0_cmb13::Id0Cmb13Spec>;
|
pub type Id0Cmb13 = crate::Reg<id0_cmb13::Id0Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb13;
|
pub mod id0_cmb13;
|
||||||
#[doc = "ID1_CMB13 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb13::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb13::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb13`]
|
#[doc = "ID1_CMB13 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb13::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb13::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb13`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB13")]
|
#[doc(alias = "ID1_CMB13")]
|
||||||
pub type Id1Cmb13 = crate::Reg<id1_cmb13::Id1Cmb13Spec>;
|
pub type Id1Cmb13 = crate::Reg<id1_cmb13::Id1Cmb13Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb13;
|
pub mod id1_cmb13;
|
||||||
#[doc = "CNSTAT_CMB14 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb14`]
|
#[doc = "CNSTAT_CMB14 (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_CMB14")]
|
#[doc(alias = "CNSTAT_CMB14")]
|
||||||
pub type CnstatCmb14 = crate::Reg<cnstat_cmb14::CnstatCmb14Spec>;
|
pub type CnstatCmb14 = crate::Reg<cnstat_cmb14::CnstatCmb14Spec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_cmb14;
|
pub mod cnstat_cmb14;
|
||||||
#[doc = "TSTP_CMB14 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb14`]
|
#[doc = "TSTP_CMB14 (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_CMB14")]
|
#[doc(alias = "TSTP_CMB14")]
|
||||||
pub type TstpCmb14 = crate::Reg<tstp_cmb14::TstpCmb14Spec>;
|
pub type TstpCmb14 = crate::Reg<tstp_cmb14::TstpCmb14Spec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_cmb14;
|
pub mod tstp_cmb14;
|
||||||
#[doc = "DATA3_CMB14 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb14`]
|
#[doc = "DATA3_CMB14 (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_CMB14")]
|
#[doc(alias = "DATA3_CMB14")]
|
||||||
pub type Data3Cmb14 = crate::Reg<data3_cmb14::Data3Cmb14Spec>;
|
pub type Data3Cmb14 = crate::Reg<data3_cmb14::Data3Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_cmb14;
|
pub mod data3_cmb14;
|
||||||
#[doc = "DATA2_CMB14 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb14`]
|
#[doc = "DATA2_CMB14 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_CMB14")]
|
#[doc(alias = "DATA2_CMB14")]
|
||||||
pub type Data2Cmb14 = crate::Reg<data2_cmb14::Data2Cmb14Spec>;
|
pub type Data2Cmb14 = crate::Reg<data2_cmb14::Data2Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_cmb14;
|
pub mod data2_cmb14;
|
||||||
#[doc = "DATA1_CMB14 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb14`]
|
#[doc = "DATA1_CMB14 (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_CMB14")]
|
#[doc(alias = "DATA1_CMB14")]
|
||||||
pub type Data1Cmb14 = crate::Reg<data1_cmb14::Data1Cmb14Spec>;
|
pub type Data1Cmb14 = crate::Reg<data1_cmb14::Data1Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_cmb14;
|
pub mod data1_cmb14;
|
||||||
#[doc = "DATA0_CMB14 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb14`]
|
#[doc = "DATA0_CMB14 (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_CMB14")]
|
#[doc(alias = "DATA0_CMB14")]
|
||||||
pub type Data0Cmb14 = crate::Reg<data0_cmb14::Data0Cmb14Spec>;
|
pub type Data0Cmb14 = crate::Reg<data0_cmb14::Data0Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_cmb14;
|
pub mod data0_cmb14;
|
||||||
#[doc = "ID0_CMB14 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb14`]
|
#[doc = "ID0_CMB14 (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_CMB14")]
|
#[doc(alias = "ID0_CMB14")]
|
||||||
pub type Id0Cmb14 = crate::Reg<id0_cmb14::Id0Cmb14Spec>;
|
pub type Id0Cmb14 = crate::Reg<id0_cmb14::Id0Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_cmb14;
|
pub mod id0_cmb14;
|
||||||
#[doc = "ID1_CMB14 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_cmb14::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_cmb14::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb14`]
|
#[doc = "ID1_CMB14 (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_cmb14::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_cmb14::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_cmb14`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_CMB14")]
|
#[doc(alias = "ID1_CMB14")]
|
||||||
pub type Id1Cmb14 = crate::Reg<id1_cmb14::Id1Cmb14Spec>;
|
pub type Id1Cmb14 = crate::Reg<id1_cmb14::Id1Cmb14Spec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_cmb14;
|
pub mod id1_cmb14;
|
||||||
#[doc = "CNSTAT_HCMB (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_hcmb`]
|
#[doc = "CNSTAT_HCMB (rw) register accessor: Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cnstat_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CNSTAT_HCMB")]
|
#[doc(alias = "CNSTAT_HCMB")]
|
||||||
pub type CnstatHcmb = crate::Reg<cnstat_hcmb::CnstatHcmbSpec>;
|
pub type CnstatHcmb = crate::Reg<cnstat_hcmb::CnstatHcmbSpec>;
|
||||||
#[doc = "Buffer Status / Control Register"]
|
#[doc = "Buffer Status / Control Register"]
|
||||||
pub mod cnstat_hcmb;
|
pub mod cnstat_hcmb;
|
||||||
#[doc = "TSTP_HCMB (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tstp_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tstp_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_hcmb`]
|
#[doc = "TSTP_HCMB (rw) register accessor: CAN Frame Timestamp\n\nYou can [`read`](crate::Reg::read) this register and get [`tstp_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tstp_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tstp_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "TSTP_HCMB")]
|
#[doc(alias = "TSTP_HCMB")]
|
||||||
pub type TstpHcmb = crate::Reg<tstp_hcmb::TstpHcmbSpec>;
|
pub type TstpHcmb = crate::Reg<tstp_hcmb::TstpHcmbSpec>;
|
||||||
#[doc = "CAN Frame Timestamp"]
|
#[doc = "CAN Frame Timestamp"]
|
||||||
pub mod tstp_hcmb;
|
pub mod tstp_hcmb;
|
||||||
#[doc = "DATA3_HCMB (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data3_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data3_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_hcmb`]
|
#[doc = "DATA3_HCMB (rw) register accessor: CAN Frame Data Word 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data3_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data3_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data3_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA3_HCMB")]
|
#[doc(alias = "DATA3_HCMB")]
|
||||||
pub type Data3Hcmb = crate::Reg<data3_hcmb::Data3HcmbSpec>;
|
pub type Data3Hcmb = crate::Reg<data3_hcmb::Data3HcmbSpec>;
|
||||||
#[doc = "CAN Frame Data Word 3"]
|
#[doc = "CAN Frame Data Word 3"]
|
||||||
pub mod data3_hcmb;
|
pub mod data3_hcmb;
|
||||||
#[doc = "DATA2_HCMB (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data2_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data2_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_hcmb`]
|
#[doc = "DATA2_HCMB (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data2_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data2_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data2_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA2_HCMB")]
|
#[doc(alias = "DATA2_HCMB")]
|
||||||
pub type Data2Hcmb = crate::Reg<data2_hcmb::Data2HcmbSpec>;
|
pub type Data2Hcmb = crate::Reg<data2_hcmb::Data2HcmbSpec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data2_hcmb;
|
pub mod data2_hcmb;
|
||||||
#[doc = "DATA1_HCMB (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_hcmb`]
|
#[doc = "DATA1_HCMB (rw) register accessor: CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data1_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA1_HCMB")]
|
#[doc(alias = "DATA1_HCMB")]
|
||||||
pub type Data1Hcmb = crate::Reg<data1_hcmb::Data1HcmbSpec>;
|
pub type Data1Hcmb = crate::Reg<data1_hcmb::Data1HcmbSpec>;
|
||||||
#[doc = "CAN Frame Data Word 2"]
|
#[doc = "CAN Frame Data Word 2"]
|
||||||
pub mod data1_hcmb;
|
pub mod data1_hcmb;
|
||||||
#[doc = "DATA0_HCMB (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_hcmb`]
|
#[doc = "DATA0_HCMB (rw) register accessor: CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data0_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "DATA0_HCMB")]
|
#[doc(alias = "DATA0_HCMB")]
|
||||||
pub type Data0Hcmb = crate::Reg<data0_hcmb::Data0HcmbSpec>;
|
pub type Data0Hcmb = crate::Reg<data0_hcmb::Data0HcmbSpec>;
|
||||||
#[doc = "CAN Frame Data Word 0"]
|
#[doc = "CAN Frame Data Word 0"]
|
||||||
pub mod data0_hcmb;
|
pub mod data0_hcmb;
|
||||||
#[doc = "ID0_HCMB (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id0_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id0_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_hcmb`]
|
#[doc = "ID0_HCMB (rw) register accessor: CAN Frame Identifier Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`id0_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id0_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id0_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID0_HCMB")]
|
#[doc(alias = "ID0_HCMB")]
|
||||||
pub type Id0Hcmb = crate::Reg<id0_hcmb::Id0HcmbSpec>;
|
pub type Id0Hcmb = crate::Reg<id0_hcmb::Id0HcmbSpec>;
|
||||||
#[doc = "CAN Frame Identifier Word 0"]
|
#[doc = "CAN Frame Identifier Word 0"]
|
||||||
pub mod id0_hcmb;
|
pub mod id0_hcmb;
|
||||||
#[doc = "ID1_HCMB (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`id1_hcmb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`id1_hcmb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_hcmb`]
|
#[doc = "ID1_HCMB (rw) register accessor: CAN Frame Identifier Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`id1_hcmb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id1_hcmb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id1_hcmb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "ID1_HCMB")]
|
#[doc(alias = "ID1_HCMB")]
|
||||||
pub type Id1Hcmb = crate::Reg<id1_hcmb::Id1HcmbSpec>;
|
pub type Id1Hcmb = crate::Reg<id1_hcmb::Id1HcmbSpec>;
|
||||||
#[doc = "CAN Frame Identifier Word 1"]
|
#[doc = "CAN Frame Identifier Word 1"]
|
||||||
pub mod id1_hcmb;
|
pub mod id1_hcmb;
|
||||||
#[doc = "CGCR (rw) register accessor: CAN Global Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cgcr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cgcr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cgcr`]
|
#[doc = "CGCR (rw) register accessor: CAN Global Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cgcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cgcr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cgcr`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CGCR")]
|
#[doc(alias = "CGCR")]
|
||||||
pub type Cgcr = crate::Reg<cgcr::CgcrSpec>;
|
pub type Cgcr = crate::Reg<cgcr::CgcrSpec>;
|
||||||
#[doc = "CAN Global Configuration Register"]
|
#[doc = "CAN Global Configuration Register"]
|
||||||
pub mod cgcr;
|
pub mod cgcr;
|
||||||
#[doc = "CTIM (rw) register accessor: CAN Timing Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctim::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctim::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctim`]
|
#[doc = "CTIM (rw) register accessor: CAN Timing Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctim::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctim`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CTIM")]
|
#[doc(alias = "CTIM")]
|
||||||
pub type Ctim = crate::Reg<ctim::CtimSpec>;
|
pub type Ctim = crate::Reg<ctim::CtimSpec>;
|
||||||
#[doc = "CAN Timing Register"]
|
#[doc = "CAN Timing Register"]
|
||||||
pub mod ctim;
|
pub mod ctim;
|
||||||
#[doc = "GMSKX (rw) register accessor: CAN Global Mask Extension\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gmskx::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`gmskx::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gmskx`]
|
#[doc = "GMSKX (rw) register accessor: CAN Global Mask Extension\n\nYou can [`read`](crate::Reg::read) this register and get [`gmskx::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gmskx::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gmskx`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "GMSKX")]
|
#[doc(alias = "GMSKX")]
|
||||||
pub type Gmskx = crate::Reg<gmskx::GmskxSpec>;
|
pub type Gmskx = crate::Reg<gmskx::GmskxSpec>;
|
||||||
#[doc = "CAN Global Mask Extension"]
|
#[doc = "CAN Global Mask Extension"]
|
||||||
pub mod gmskx;
|
pub mod gmskx;
|
||||||
#[doc = "GMSKB (rw) register accessor: CAN Global Mask Base\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gmskb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`gmskb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gmskb`]
|
#[doc = "GMSKB (rw) register accessor: CAN Global Mask Base\n\nYou can [`read`](crate::Reg::read) this register and get [`gmskb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gmskb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gmskb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "GMSKB")]
|
#[doc(alias = "GMSKB")]
|
||||||
pub type Gmskb = crate::Reg<gmskb::GmskbSpec>;
|
pub type Gmskb = crate::Reg<gmskb::GmskbSpec>;
|
||||||
#[doc = "CAN Global Mask Base"]
|
#[doc = "CAN Global Mask Base"]
|
||||||
pub mod gmskb;
|
pub mod gmskb;
|
||||||
#[doc = "BMSKX (rw) register accessor: CAN Basic Mask Extension\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bmskx::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`bmskx::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bmskx`]
|
#[doc = "BMSKX (rw) register accessor: CAN Basic Mask Extension\n\nYou can [`read`](crate::Reg::read) this register and get [`bmskx::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bmskx::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bmskx`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "BMSKX")]
|
#[doc(alias = "BMSKX")]
|
||||||
pub type Bmskx = crate::Reg<bmskx::BmskxSpec>;
|
pub type Bmskx = crate::Reg<bmskx::BmskxSpec>;
|
||||||
#[doc = "CAN Basic Mask Extension"]
|
#[doc = "CAN Basic Mask Extension"]
|
||||||
pub mod bmskx;
|
pub mod bmskx;
|
||||||
#[doc = "BMSKB (rw) register accessor: CAN Basic Mask Base\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bmskb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`bmskb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bmskb`]
|
#[doc = "BMSKB (rw) register accessor: CAN Basic Mask Base\n\nYou can [`read`](crate::Reg::read) this register and get [`bmskb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bmskb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bmskb`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "BMSKB")]
|
#[doc(alias = "BMSKB")]
|
||||||
pub type Bmskb = crate::Reg<bmskb::BmskbSpec>;
|
pub type Bmskb = crate::Reg<bmskb::BmskbSpec>;
|
||||||
#[doc = "CAN Basic Mask Base"]
|
#[doc = "CAN Basic Mask Base"]
|
||||||
pub mod bmskb;
|
pub mod bmskb;
|
||||||
#[doc = "CIEN (rw) register accessor: CAN Interrupt Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cien::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cien::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cien`]
|
#[doc = "CIEN (rw) register accessor: CAN Interrupt Enable Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cien::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cien`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CIEN")]
|
#[doc(alias = "CIEN")]
|
||||||
pub type Cien = crate::Reg<cien::CienSpec>;
|
pub type Cien = crate::Reg<cien::CienSpec>;
|
||||||
#[doc = "CAN Interrupt Enable Register"]
|
#[doc = "CAN Interrupt Enable Register"]
|
||||||
pub mod cien;
|
pub mod cien;
|
||||||
#[doc = "CIPND (rw) register accessor: CAN Interrupt Pending Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cipnd::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cipnd::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cipnd`]
|
#[doc = "CIPND (rw) register accessor: CAN Interrupt Pending Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cipnd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cipnd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cipnd`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CIPND")]
|
#[doc(alias = "CIPND")]
|
||||||
pub type Cipnd = crate::Reg<cipnd::CipndSpec>;
|
pub type Cipnd = crate::Reg<cipnd::CipndSpec>;
|
||||||
#[doc = "CAN Interrupt Pending Register"]
|
#[doc = "CAN Interrupt Pending Register"]
|
||||||
pub mod cipnd;
|
pub mod cipnd;
|
||||||
#[doc = "CICLR (rw) register accessor: CAN Interrupt Clear Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ciclr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ciclr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ciclr`]
|
#[doc = "CICLR (rw) register accessor: CAN Interrupt Clear Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ciclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ciclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ciclr`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CICLR")]
|
#[doc(alias = "CICLR")]
|
||||||
pub type Ciclr = crate::Reg<ciclr::CiclrSpec>;
|
pub type Ciclr = crate::Reg<ciclr::CiclrSpec>;
|
||||||
#[doc = "CAN Interrupt Clear Register"]
|
#[doc = "CAN Interrupt Clear Register"]
|
||||||
pub mod ciclr;
|
pub mod ciclr;
|
||||||
#[doc = "CICEN (rw) register accessor: CAN Interrupt Code Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cicen::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cicen::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cicen`]
|
#[doc = "CICEN (rw) register accessor: CAN Interrupt Code Enable Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cicen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cicen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cicen`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CICEN")]
|
#[doc(alias = "CICEN")]
|
||||||
pub type Cicen = crate::Reg<cicen::CicenSpec>;
|
pub type Cicen = crate::Reg<cicen::CicenSpec>;
|
||||||
#[doc = "CAN Interrupt Code Enable Register"]
|
#[doc = "CAN Interrupt Code Enable Register"]
|
||||||
pub mod cicen;
|
pub mod cicen;
|
||||||
#[doc = "CSTPND (rw) register accessor: CAN Status Pending Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cstpnd::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cstpnd::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cstpnd`]
|
#[doc = "CSTPND (rw) register accessor: CAN Status Pending Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cstpnd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cstpnd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cstpnd`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CSTPND")]
|
#[doc(alias = "CSTPND")]
|
||||||
pub type Cstpnd = crate::Reg<cstpnd::CstpndSpec>;
|
pub type Cstpnd = crate::Reg<cstpnd::CstpndSpec>;
|
||||||
#[doc = "CAN Status Pending Register"]
|
#[doc = "CAN Status Pending Register"]
|
||||||
pub mod cstpnd;
|
pub mod cstpnd;
|
||||||
#[doc = "CANEC (rw) register accessor: CAN Error Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`canec::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`canec::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@canec`]
|
#[doc = "CANEC (rw) register accessor: CAN Error Counter Register\n\nYou can [`read`](crate::Reg::read) this register and get [`canec::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`canec::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@canec`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CANEC")]
|
#[doc(alias = "CANEC")]
|
||||||
pub type Canec = crate::Reg<canec::CanecSpec>;
|
pub type Canec = crate::Reg<canec::CanecSpec>;
|
||||||
#[doc = "CAN Error Counter Register"]
|
#[doc = "CAN Error Counter Register"]
|
||||||
pub mod canec;
|
pub mod canec;
|
||||||
#[doc = "CEDIAG (rw) register accessor: CAN Error Diagnostic Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cediag::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cediag::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cediag`]
|
#[doc = "CEDIAG (rw) register accessor: CAN Error Diagnostic Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cediag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cediag::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cediag`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CEDIAG")]
|
#[doc(alias = "CEDIAG")]
|
||||||
pub type Cediag = crate::Reg<cediag::CediagSpec>;
|
pub type Cediag = crate::Reg<cediag::CediagSpec>;
|
||||||
#[doc = "CAN Error Diagnostic Register"]
|
#[doc = "CAN Error Diagnostic Register"]
|
||||||
pub mod cediag;
|
pub mod cediag;
|
||||||
#[doc = "CTMR (rw) register accessor: CAN Timer Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctmr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctmr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctmr`]
|
#[doc = "CTMR (rw) register accessor: CAN Timer Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctmr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctmr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctmr`]
|
||||||
module"]
|
module"]
|
||||||
#[doc(alias = "CTMR")]
|
#[doc(alias = "CTMR")]
|
||||||
pub type Ctmr = crate::Reg<ctmr::CtmrSpec>;
|
pub type Ctmr = crate::Reg<ctmr::CtmrSpec>;
|
||||||
|
@ -60,19 +60,16 @@ impl W {
|
|||||||
- Unused in standard, ID\\[17:15\\]
|
- Unused in standard, ID\\[17:15\\]
|
||||||
in extended"]
|
in extended"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn bm0(&mut self) -> Bm0W<BmskbSpec> {
|
pub fn bm0(&mut self) -> Bm0W<BmskbSpec> {
|
||||||
Bm0W::new(self, 0)
|
Bm0W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 3 - Identifier Extension Bit"]
|
#[doc = "Bit 3 - Identifier Extension Bit"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ide(&mut self) -> IdeW<BmskbSpec> {
|
pub fn ide(&mut self) -> IdeW<BmskbSpec> {
|
||||||
IdeW::new(self, 3)
|
IdeW::new(self, 3)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 4 - Remote Transmission Request in Standard, Substitute Remote Request (SRR) in extended"]
|
#[doc = "Bit 4 - Remote Transmission Request in Standard, Substitute Remote Request (SRR) in extended"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn rtr(&mut self) -> RtrW<BmskbSpec> {
|
pub fn rtr(&mut self) -> RtrW<BmskbSpec> {
|
||||||
RtrW::new(self, 4)
|
RtrW::new(self, 4)
|
||||||
}
|
}
|
||||||
@ -81,12 +78,11 @@ in extended"]
|
|||||||
in standard, ID\\[28:18\\]
|
in standard, ID\\[28:18\\]
|
||||||
in extended"]
|
in extended"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn bm1(&mut self) -> Bm1W<BmskbSpec> {
|
pub fn bm1(&mut self) -> Bm1W<BmskbSpec> {
|
||||||
Bm1W::new(self, 5)
|
Bm1W::new(self, 5)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Basic Mask Base\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bmskb::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`bmskb::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Basic Mask Base\n\nYou can [`read`](crate::Reg::read) this register and get [`bmskb::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bmskb::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct BmskbSpec;
|
pub struct BmskbSpec;
|
||||||
impl crate::RegisterSpec for BmskbSpec {
|
impl crate::RegisterSpec for BmskbSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -31,7 +31,6 @@ in extended, unused standard"]
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bit 0 - Extended Remote transmission Request Bit"]
|
#[doc = "Bit 0 - Extended Remote transmission Request Bit"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn xrtr(&mut self) -> XrtrW<BmskxSpec> {
|
pub fn xrtr(&mut self) -> XrtrW<BmskxSpec> {
|
||||||
XrtrW::new(self, 0)
|
XrtrW::new(self, 0)
|
||||||
}
|
}
|
||||||
@ -39,12 +38,11 @@ impl W {
|
|||||||
used when an extended frame is received. ID\\[14:0\\]
|
used when an extended frame is received. ID\\[14:0\\]
|
||||||
in extended, unused standard"]
|
in extended, unused standard"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn bm(&mut self) -> BmW<BmskxSpec> {
|
pub fn bm(&mut self) -> BmW<BmskxSpec> {
|
||||||
BmW::new(self, 1)
|
BmW::new(self, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Basic Mask Extension\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bmskx::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`bmskx::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Basic Mask Extension\n\nYou can [`read`](crate::Reg::read) this register and get [`bmskx::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bmskx::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct BmskxSpec;
|
pub struct BmskxSpec;
|
||||||
impl crate::RegisterSpec for BmskxSpec {
|
impl crate::RegisterSpec for BmskxSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Transmit Error Counter"]
|
#[doc = "Bits 0:7 - Transmit Error Counter"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn tec(&mut self) -> TecW<CanecSpec> {
|
pub fn tec(&mut self) -> TecW<CanecSpec> {
|
||||||
TecW::new(self, 0)
|
TecW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Receive Error Counter"]
|
#[doc = "Bits 8:15 - Receive Error Counter"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn rec(&mut self) -> RecW<CanecSpec> {
|
pub fn rec(&mut self) -> RecW<CanecSpec> {
|
||||||
RecW::new(self, 8)
|
RecW::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Error Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`canec::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`canec::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Error Counter Register\n\nYou can [`read`](crate::Reg::read) this register and get [`canec::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`canec::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CanecSpec;
|
pub struct CanecSpec;
|
||||||
impl crate::RegisterSpec for CanecSpec {
|
impl crate::RegisterSpec for CanecSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -70,48 +70,41 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Error Field Identifier"]
|
#[doc = "Bits 0:3 - Error Field Identifier"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn efid(&mut self) -> EfidW<CediagSpec> {
|
pub fn efid(&mut self) -> EfidW<CediagSpec> {
|
||||||
EfidW::new(self, 0)
|
EfidW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:9 - Error Bit Identifier"]
|
#[doc = "Bits 4:9 - Error Bit Identifier"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ebid(&mut self) -> EbidW<CediagSpec> {
|
pub fn ebid(&mut self) -> EbidW<CediagSpec> {
|
||||||
EbidW::new(self, 4)
|
EbidW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 10 - Transmit Error"]
|
#[doc = "Bit 10 - Transmit Error"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn txe(&mut self) -> TxeW<CediagSpec> {
|
pub fn txe(&mut self) -> TxeW<CediagSpec> {
|
||||||
TxeW::new(self, 10)
|
TxeW::new(self, 10)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 11 - Stuff Error"]
|
#[doc = "Bit 11 - Stuff Error"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn stuff(&mut self) -> StuffW<CediagSpec> {
|
pub fn stuff(&mut self) -> StuffW<CediagSpec> {
|
||||||
StuffW::new(self, 11)
|
StuffW::new(self, 11)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 12 - CRC"]
|
#[doc = "Bit 12 - CRC"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn crc(&mut self) -> CrcW<CediagSpec> {
|
pub fn crc(&mut self) -> CrcW<CediagSpec> {
|
||||||
CrcW::new(self, 12)
|
CrcW::new(self, 12)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 13 - Monitor"]
|
#[doc = "Bit 13 - Monitor"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn mon(&mut self) -> MonW<CediagSpec> {
|
pub fn mon(&mut self) -> MonW<CediagSpec> {
|
||||||
MonW::new(self, 13)
|
MonW::new(self, 13)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 14 - Drive"]
|
#[doc = "Bit 14 - Drive"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn drive(&mut self) -> DriveW<CediagSpec> {
|
pub fn drive(&mut self) -> DriveW<CediagSpec> {
|
||||||
DriveW::new(self, 14)
|
DriveW::new(self, 14)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Error Diagnostic Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cediag::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cediag::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Error Diagnostic Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cediag::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cediag::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CediagSpec;
|
pub struct CediagSpec;
|
||||||
impl crate::RegisterSpec for CediagSpec {
|
impl crate::RegisterSpec for CediagSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -115,78 +115,66 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bit 0 - CAN Enable"]
|
#[doc = "Bit 0 - CAN Enable"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn canen(&mut self) -> CanenW<CgcrSpec> {
|
pub fn canen(&mut self) -> CanenW<CgcrSpec> {
|
||||||
CanenW::new(self, 0)
|
CanenW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 1 - RW,Control Receive"]
|
#[doc = "Bit 1 - RW,Control Receive"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn crx(&mut self) -> CrxW<CgcrSpec> {
|
pub fn crx(&mut self) -> CrxW<CgcrSpec> {
|
||||||
CrxW::new(self, 1)
|
CrxW::new(self, 1)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 2 - RW,Control Transmit"]
|
#[doc = "Bit 2 - RW,Control Transmit"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ctx(&mut self) -> CtxW<CgcrSpec> {
|
pub fn ctx(&mut self) -> CtxW<CgcrSpec> {
|
||||||
CtxW::new(self, 2)
|
CtxW::new(self, 2)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 3 - Buffer Lock"]
|
#[doc = "Bit 3 - Buffer Lock"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn bufflock(&mut self) -> BufflockW<CgcrSpec> {
|
pub fn bufflock(&mut self) -> BufflockW<CgcrSpec> {
|
||||||
BufflockW::new(self, 3)
|
BufflockW::new(self, 3)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 4 - Time Sync Enable"]
|
#[doc = "Bit 4 - Time Sync Enable"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn tstpen(&mut self) -> TstpenW<CgcrSpec> {
|
pub fn tstpen(&mut self) -> TstpenW<CgcrSpec> {
|
||||||
TstpenW::new(self, 4)
|
TstpenW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 5 - Data Direction"]
|
#[doc = "Bit 5 - Data Direction"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ddir(&mut self) -> DdirW<CgcrSpec> {
|
pub fn ddir(&mut self) -> DdirW<CgcrSpec> {
|
||||||
DdirW::new(self, 5)
|
DdirW::new(self, 5)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 6 - Listen Only"]
|
#[doc = "Bit 6 - Listen Only"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn lo(&mut self) -> LoW<CgcrSpec> {
|
pub fn lo(&mut self) -> LoW<CgcrSpec> {
|
||||||
LoW::new(self, 6)
|
LoW::new(self, 6)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 7 - Ignore Acknowledge"]
|
#[doc = "Bit 7 - Ignore Acknowledge"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ignack(&mut self) -> IgnackW<CgcrSpec> {
|
pub fn ignack(&mut self) -> IgnackW<CgcrSpec> {
|
||||||
IgnackW::new(self, 7)
|
IgnackW::new(self, 7)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 8 - Loopback"]
|
#[doc = "Bit 8 - Loopback"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn loopback(&mut self) -> LoopbackW<CgcrSpec> {
|
pub fn loopback(&mut self) -> LoopbackW<CgcrSpec> {
|
||||||
LoopbackW::new(self, 8)
|
LoopbackW::new(self, 8)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 9 - Internal"]
|
#[doc = "Bit 9 - Internal"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn internal(&mut self) -> InternalW<CgcrSpec> {
|
pub fn internal(&mut self) -> InternalW<CgcrSpec> {
|
||||||
InternalW::new(self, 9)
|
InternalW::new(self, 9)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 10 - Diagnostic Enable"]
|
#[doc = "Bit 10 - Diagnostic Enable"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn diagen(&mut self) -> DiagenW<CgcrSpec> {
|
pub fn diagen(&mut self) -> DiagenW<CgcrSpec> {
|
||||||
DiagenW::new(self, 10)
|
DiagenW::new(self, 10)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 11 - Error Interrupt Type"]
|
#[doc = "Bit 11 - Error Interrupt Type"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn eit(&mut self) -> EitW<CgcrSpec> {
|
pub fn eit(&mut self) -> EitW<CgcrSpec> {
|
||||||
EitW::new(self, 11)
|
EitW::new(self, 11)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Global Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cgcr::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cgcr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Global Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cgcr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cgcr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CgcrSpec;
|
pub struct CgcrSpec;
|
||||||
impl crate::RegisterSpec for CgcrSpec {
|
impl crate::RegisterSpec for CgcrSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:14 - Buffer Interrupt Code Enable\\[14:0\\]"]
|
#[doc = "Bits 0:14 - Buffer Interrupt Code Enable\\[14:0\\]"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn icen(&mut self) -> IcenW<CicenSpec> {
|
pub fn icen(&mut self) -> IcenW<CicenSpec> {
|
||||||
IcenW::new(self, 0)
|
IcenW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 15 - Error Interrupt Code Enable"]
|
#[doc = "Bit 15 - Error Interrupt Code Enable"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn eicen(&mut self) -> EicenW<CicenSpec> {
|
pub fn eicen(&mut self) -> EicenW<CicenSpec> {
|
||||||
EicenW::new(self, 15)
|
EicenW::new(self, 15)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Interrupt Code Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cicen::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cicen::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Interrupt Code Enable Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cicen::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cicen::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CicenSpec;
|
pub struct CicenSpec;
|
||||||
impl crate::RegisterSpec for CicenSpec {
|
impl crate::RegisterSpec for CicenSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:14 - Buffer Interrupt Clear\\[14:0\\]"]
|
#[doc = "Bits 0:14 - Buffer Interrupt Clear\\[14:0\\]"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn iclr(&mut self) -> IclrW<CiclrSpec> {
|
pub fn iclr(&mut self) -> IclrW<CiclrSpec> {
|
||||||
IclrW::new(self, 0)
|
IclrW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 15 - Error Interrupt Clear"]
|
#[doc = "Bit 15 - Error Interrupt Clear"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn eiclr(&mut self) -> EiclrW<CiclrSpec> {
|
pub fn eiclr(&mut self) -> EiclrW<CiclrSpec> {
|
||||||
EiclrW::new(self, 15)
|
EiclrW::new(self, 15)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Interrupt Clear Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ciclr::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ciclr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Interrupt Clear Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ciclr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ciclr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CiclrSpec;
|
pub struct CiclrSpec;
|
||||||
impl crate::RegisterSpec for CiclrSpec {
|
impl crate::RegisterSpec for CiclrSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:14 - Buffer Interrupt Enable\\[14:0\\]"]
|
#[doc = "Bits 0:14 - Buffer Interrupt Enable\\[14:0\\]"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ien(&mut self) -> IenW<CienSpec> {
|
pub fn ien(&mut self) -> IenW<CienSpec> {
|
||||||
IenW::new(self, 0)
|
IenW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 15 - Error Interrupt Enable"]
|
#[doc = "Bit 15 - Error Interrupt Enable"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn eien(&mut self) -> EienW<CienSpec> {
|
pub fn eien(&mut self) -> EienW<CienSpec> {
|
||||||
EienW::new(self, 15)
|
EienW::new(self, 15)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Interrupt Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cien::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cien::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Interrupt Enable Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cien::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cien::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CienSpec;
|
pub struct CienSpec;
|
||||||
impl crate::RegisterSpec for CienSpec {
|
impl crate::RegisterSpec for CienSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:14 - Buffer Interrupt Pending\\[14:0\\]"]
|
#[doc = "Bits 0:14 - Buffer Interrupt Pending\\[14:0\\]"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ipnd(&mut self) -> IpndW<CipndSpec> {
|
pub fn ipnd(&mut self) -> IpndW<CipndSpec> {
|
||||||
IpndW::new(self, 0)
|
IpndW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 15 - Error Interrupt Pending"]
|
#[doc = "Bit 15 - Error Interrupt Pending"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn eipnd(&mut self) -> EipndW<CipndSpec> {
|
pub fn eipnd(&mut self) -> EipndW<CipndSpec> {
|
||||||
EipndW::new(self, 15)
|
EipndW::new(self, 15)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Interrupt Pending Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cipnd::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cipnd::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Interrupt Pending Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cipnd::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cipnd::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CipndSpec;
|
pub struct CipndSpec;
|
||||||
impl crate::RegisterSpec for CipndSpec {
|
impl crate::RegisterSpec for CipndSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb0Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb0Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb0Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb0Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb0Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb0Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb0::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb0::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb0::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb0Spec;
|
pub struct CnstatCmb0Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb0Spec {
|
impl crate::RegisterSpec for CnstatCmb0Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb1Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb1Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb1Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb1Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb1Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb1Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb1::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb1::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb1::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb1Spec;
|
pub struct CnstatCmb1Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb1Spec {
|
impl crate::RegisterSpec for CnstatCmb1Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb10Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb10Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb10Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb10Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb10Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb10Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb10::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb10::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb10::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb10::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb10Spec;
|
pub struct CnstatCmb10Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb10Spec {
|
impl crate::RegisterSpec for CnstatCmb10Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb11Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb11Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb11Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb11Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb11Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb11Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb11::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb11::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb11::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb11::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb11Spec;
|
pub struct CnstatCmb11Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb11Spec {
|
impl crate::RegisterSpec for CnstatCmb11Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb12Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb12Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb12Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb12Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb12Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb12Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb12::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb12::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb12::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb12::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb12Spec;
|
pub struct CnstatCmb12Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb12Spec {
|
impl crate::RegisterSpec for CnstatCmb12Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb13Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb13Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb13Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb13Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb13Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb13Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb13::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb13::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb13::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb13::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb13Spec;
|
pub struct CnstatCmb13Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb13Spec {
|
impl crate::RegisterSpec for CnstatCmb13Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb14Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb14Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb14Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb14Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb14Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb14Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb14::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb14::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb14::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb14::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb14Spec;
|
pub struct CnstatCmb14Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb14Spec {
|
impl crate::RegisterSpec for CnstatCmb14Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb2Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb2Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb2Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb2Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb2Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb2Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb2::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb2::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb2::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb2Spec;
|
pub struct CnstatCmb2Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb2Spec {
|
impl crate::RegisterSpec for CnstatCmb2Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb3Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb3Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb3Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb3Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb3Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb3Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb3::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb3::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb3::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb3Spec;
|
pub struct CnstatCmb3Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb3Spec {
|
impl crate::RegisterSpec for CnstatCmb3Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb4Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb4Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb4Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb4Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb4Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb4Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb4::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb4::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb4::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb4::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb4Spec;
|
pub struct CnstatCmb4Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb4Spec {
|
impl crate::RegisterSpec for CnstatCmb4Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb5Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb5Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb5Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb5Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb5Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb5Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb5::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb5::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb5::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb5::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb5Spec;
|
pub struct CnstatCmb5Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb5Spec {
|
impl crate::RegisterSpec for CnstatCmb5Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb6Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb6Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb6Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb6Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb6Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb6Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb6::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb6::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb6::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb6::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb6Spec;
|
pub struct CnstatCmb6Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb6Spec {
|
impl crate::RegisterSpec for CnstatCmb6Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb7Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb7Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb7Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb7Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb7Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb7Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb7::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb7::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb7::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb7::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb7Spec;
|
pub struct CnstatCmb7Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb7Spec {
|
impl crate::RegisterSpec for CnstatCmb7Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb8Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb8Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb8Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb8Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb8Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb8Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb8::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb8::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb8::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb8::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb8Spec;
|
pub struct CnstatCmb8Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb8Spec {
|
impl crate::RegisterSpec for CnstatCmb8Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatCmb9Spec> {
|
pub fn st(&mut self) -> StW<CnstatCmb9Spec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatCmb9Spec> {
|
pub fn pri(&mut self) -> PriW<CnstatCmb9Spec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatCmb9Spec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatCmb9Spec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_cmb9::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_cmb9::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_cmb9::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_cmb9::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatCmb9Spec;
|
pub struct CnstatCmb9Spec;
|
||||||
impl crate::RegisterSpec for CnstatCmb9Spec {
|
impl crate::RegisterSpec for CnstatCmb9Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Buffer Status"]
|
#[doc = "Bits 0:3 - Buffer Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn st(&mut self) -> StW<CnstatHcmbSpec> {
|
pub fn st(&mut self) -> StW<CnstatHcmbSpec> {
|
||||||
StW::new(self, 0)
|
StW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
#[doc = "Bits 4:7 - Transmit Priority Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn pri(&mut self) -> PriW<CnstatHcmbSpec> {
|
pub fn pri(&mut self) -> PriW<CnstatHcmbSpec> {
|
||||||
PriW::new(self, 4)
|
PriW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 12:15 - Data Length Code"]
|
#[doc = "Bits 12:15 - Data Length Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn dlc(&mut self) -> DlcW<CnstatHcmbSpec> {
|
pub fn dlc(&mut self) -> DlcW<CnstatHcmbSpec> {
|
||||||
DlcW::new(self, 12)
|
DlcW::new(self, 12)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cnstat_hcmb::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cnstat_hcmb::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "Buffer Status / Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cnstat_hcmb::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cnstat_hcmb::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CnstatHcmbSpec;
|
pub struct CnstatHcmbSpec;
|
||||||
impl crate::RegisterSpec for CnstatHcmbSpec {
|
impl crate::RegisterSpec for CnstatHcmbSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -34,24 +34,21 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:3 - Interrupt Source portion of Interrupt Code"]
|
#[doc = "Bits 0:3 - Interrupt Source portion of Interrupt Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ist(&mut self) -> IstW<CstpndSpec> {
|
pub fn ist(&mut self) -> IstW<CstpndSpec> {
|
||||||
IstW::new(self, 0)
|
IstW::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bit 4 - Interrupt Request portion of Interrupt Code"]
|
#[doc = "Bit 4 - Interrupt Request portion of Interrupt Code"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn irq(&mut self) -> IrqW<CstpndSpec> {
|
pub fn irq(&mut self) -> IrqW<CstpndSpec> {
|
||||||
IrqW::new(self, 4)
|
IrqW::new(self, 4)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 5:7 - CAN Node Status"]
|
#[doc = "Bits 5:7 - CAN Node Status"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn ns(&mut self) -> NsW<CstpndSpec> {
|
pub fn ns(&mut self) -> NsW<CstpndSpec> {
|
||||||
NsW::new(self, 5)
|
NsW::new(self, 5)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Status Pending Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cstpnd::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cstpnd::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Status Pending Register\n\nYou can [`read`](crate::Reg::read) this register and get [`cstpnd::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cstpnd::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CstpndSpec;
|
pub struct CstpndSpec;
|
||||||
impl crate::RegisterSpec for CstpndSpec {
|
impl crate::RegisterSpec for CstpndSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -43,30 +43,26 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:2 - Time Segment 2"]
|
#[doc = "Bits 0:2 - Time Segment 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn tseg2(&mut self) -> Tseg2W<CtimSpec> {
|
pub fn tseg2(&mut self) -> Tseg2W<CtimSpec> {
|
||||||
Tseg2W::new(self, 0)
|
Tseg2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 3:6 - Time Segment 1"]
|
#[doc = "Bits 3:6 - Time Segment 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn tseg1(&mut self) -> Tseg1W<CtimSpec> {
|
pub fn tseg1(&mut self) -> Tseg1W<CtimSpec> {
|
||||||
Tseg1W::new(self, 3)
|
Tseg1W::new(self, 3)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 7:8 - Synchronization Jump Width"]
|
#[doc = "Bits 7:8 - Synchronization Jump Width"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn sjw(&mut self) -> SjwW<CtimSpec> {
|
pub fn sjw(&mut self) -> SjwW<CtimSpec> {
|
||||||
SjwW::new(self, 7)
|
SjwW::new(self, 7)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 9:15 - Prescaler Configuration"]
|
#[doc = "Bits 9:15 - Prescaler Configuration"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn psc(&mut self) -> PscW<CtimSpec> {
|
pub fn psc(&mut self) -> PscW<CtimSpec> {
|
||||||
PscW::new(self, 9)
|
PscW::new(self, 9)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Timing Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctim::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctim::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Timing Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctim::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctim::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CtimSpec;
|
pub struct CtimSpec;
|
||||||
impl crate::RegisterSpec for CtimSpec {
|
impl crate::RegisterSpec for CtimSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -12,7 +12,7 @@ impl R {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
impl W {}
|
impl W {}
|
||||||
#[doc = "CAN Timer Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ctmr::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctmr::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Timer Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctmr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctmr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct CtmrSpec;
|
pub struct CtmrSpec;
|
||||||
impl crate::RegisterSpec for CtmrSpec {
|
impl crate::RegisterSpec for CtmrSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb0Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb0Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb0Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb0Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb0::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb0::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb0::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb0Spec;
|
pub struct Data0Cmb0Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb0Spec {
|
impl crate::RegisterSpec for Data0Cmb0Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb1Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb1Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb1Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb1Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb1::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb1::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb1::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb1Spec;
|
pub struct Data0Cmb1Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb1Spec {
|
impl crate::RegisterSpec for Data0Cmb1Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb10Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb10Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb10Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb10Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb10::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb10::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb10::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb10::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb10Spec;
|
pub struct Data0Cmb10Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb10Spec {
|
impl crate::RegisterSpec for Data0Cmb10Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb11Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb11Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb11Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb11Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb11::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb11::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb11::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb11::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb11Spec;
|
pub struct Data0Cmb11Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb11Spec {
|
impl crate::RegisterSpec for Data0Cmb11Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb12Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb12Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb12Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb12Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb12::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb12::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb12::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb12::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb12Spec;
|
pub struct Data0Cmb12Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb12Spec {
|
impl crate::RegisterSpec for Data0Cmb12Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb13Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb13Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb13Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb13Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb13::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb13::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb13::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb13::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb13Spec;
|
pub struct Data0Cmb13Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb13Spec {
|
impl crate::RegisterSpec for Data0Cmb13Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb14Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb14Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb14Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb14Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb14::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb14::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb14::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb14::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb14Spec;
|
pub struct Data0Cmb14Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb14Spec {
|
impl crate::RegisterSpec for Data0Cmb14Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb2Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb2Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb2Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb2Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb2::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb2::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb2::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb2Spec;
|
pub struct Data0Cmb2Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb2Spec {
|
impl crate::RegisterSpec for Data0Cmb2Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb3Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb3Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb3Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb3Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb3::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb3::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb3::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb3Spec;
|
pub struct Data0Cmb3Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb3Spec {
|
impl crate::RegisterSpec for Data0Cmb3Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb4Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb4Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb4Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb4Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb4::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb4::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb4::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb4::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb4Spec;
|
pub struct Data0Cmb4Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb4Spec {
|
impl crate::RegisterSpec for Data0Cmb4Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb5Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb5Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb5Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb5Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb5::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb5::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb5::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb5::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb5Spec;
|
pub struct Data0Cmb5Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb5Spec {
|
impl crate::RegisterSpec for Data0Cmb5Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb6Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb6Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb6Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb6Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb6::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb6::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb6::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb6::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb6Spec;
|
pub struct Data0Cmb6Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb6Spec {
|
impl crate::RegisterSpec for Data0Cmb6Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb7Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb7Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb7Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb7Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb7::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb7::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb7::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb7::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb7Spec;
|
pub struct Data0Cmb7Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb7Spec {
|
impl crate::RegisterSpec for Data0Cmb7Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb8Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb8Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb8Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb8Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb8::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb8::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb8::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb8::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb8Spec;
|
pub struct Data0Cmb8Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb8Spec {
|
impl crate::RegisterSpec for Data0Cmb8Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0Cmb9Spec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0Cmb9Spec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0Cmb9Spec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0Cmb9Spec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_cmb9::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_cmb9::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_cmb9::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_cmb9::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0Cmb9Spec;
|
pub struct Data0Cmb9Spec;
|
||||||
impl crate::RegisterSpec for Data0Cmb9Spec {
|
impl crate::RegisterSpec for Data0Cmb9Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 2"]
|
#[doc = "Bits 0:7 - Data Byte 2"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte2(&mut self) -> Byte2W<Data0HcmbSpec> {
|
pub fn byte2(&mut self) -> Byte2W<Data0HcmbSpec> {
|
||||||
Byte2W::new(self, 0)
|
Byte2W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 1"]
|
#[doc = "Bits 8:15 - Data Byte 1"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte1(&mut self) -> Byte1W<Data0HcmbSpec> {
|
pub fn byte1(&mut self) -> Byte1W<Data0HcmbSpec> {
|
||||||
Byte1W::new(self, 8)
|
Byte1W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data0_hcmb::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data0_hcmb::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data0_hcmb::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data0_hcmb::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data0HcmbSpec;
|
pub struct Data0HcmbSpec;
|
||||||
impl crate::RegisterSpec for Data0HcmbSpec {
|
impl crate::RegisterSpec for Data0HcmbSpec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb0Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb0Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb0Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb0Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb0::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb0::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 1\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb0::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb0::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb0Spec;
|
pub struct Data1Cmb0Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb0Spec {
|
impl crate::RegisterSpec for Data1Cmb0Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb1Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb1Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb1Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb1Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb1::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb1::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb1::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb1Spec;
|
pub struct Data1Cmb1Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb1Spec {
|
impl crate::RegisterSpec for Data1Cmb1Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb10Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb10Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb10Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb10Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb10::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb10::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb10::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb10::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb10Spec;
|
pub struct Data1Cmb10Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb10Spec {
|
impl crate::RegisterSpec for Data1Cmb10Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb11Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb11Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb11Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb11Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb11::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb11::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb11::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb11::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb11Spec;
|
pub struct Data1Cmb11Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb11Spec {
|
impl crate::RegisterSpec for Data1Cmb11Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb12Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb12Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb12Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb12Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb12::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb12::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb12::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb12::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb12Spec;
|
pub struct Data1Cmb12Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb12Spec {
|
impl crate::RegisterSpec for Data1Cmb12Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb13Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb13Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb13Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb13Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb13::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb13::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb13::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb13::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb13Spec;
|
pub struct Data1Cmb13Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb13Spec {
|
impl crate::RegisterSpec for Data1Cmb13Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb14Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb14Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb14Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb14Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb14::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb14::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb14::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb14::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb14Spec;
|
pub struct Data1Cmb14Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb14Spec {
|
impl crate::RegisterSpec for Data1Cmb14Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb2Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb2Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb2Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb2Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb2::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb2::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb2::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb2::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb2Spec;
|
pub struct Data1Cmb2Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb2Spec {
|
impl crate::RegisterSpec for Data1Cmb2Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb3Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb3Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb3Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb3Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb3::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb3::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb3::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb3::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb3Spec;
|
pub struct Data1Cmb3Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb3Spec {
|
impl crate::RegisterSpec for Data1Cmb3Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
@ -25,18 +25,16 @@ impl R {
|
|||||||
impl W {
|
impl W {
|
||||||
#[doc = "Bits 0:7 - Data Byte 4"]
|
#[doc = "Bits 0:7 - Data Byte 4"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte4(&mut self) -> Byte4W<Data1Cmb4Spec> {
|
pub fn byte4(&mut self) -> Byte4W<Data1Cmb4Spec> {
|
||||||
Byte4W::new(self, 0)
|
Byte4W::new(self, 0)
|
||||||
}
|
}
|
||||||
#[doc = "Bits 8:15 - Data Byte 3"]
|
#[doc = "Bits 8:15 - Data Byte 3"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[must_use]
|
|
||||||
pub fn byte3(&mut self) -> Byte3W<Data1Cmb4Spec> {
|
pub fn byte3(&mut self) -> Byte3W<Data1Cmb4Spec> {
|
||||||
Byte3W::new(self, 8)
|
Byte3W::new(self, 8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data1_cmb4::R`](R). You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data1_cmb4::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
#[doc = "CAN Frame Data Word 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data1_cmb4::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data1_cmb4::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
|
||||||
pub struct Data1Cmb4Spec;
|
pub struct Data1Cmb4Spec;
|
||||||
impl crate::RegisterSpec for Data1Cmb4Spec {
|
impl crate::RegisterSpec for Data1Cmb4Spec {
|
||||||
type Ux = u32;
|
type Ux = u32;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user