Avoid "missing_transmute_annotations" warnings (#1410)
This commit is contained in:
parent
52e5b94bd5
commit
41aa556764
@ -310,7 +310,9 @@ unsafe fn get_assigned_cpu_interrupt(interrupt: Interrupt) -> Option<CpuInterrup
|
|||||||
|
|
||||||
let cpu_intr = intr_map_base.offset(interrupt_number).read_volatile();
|
let cpu_intr = intr_map_base.offset(interrupt_number).read_volatile();
|
||||||
if cpu_intr > 0 {
|
if cpu_intr > 0 {
|
||||||
Some(core::mem::transmute(cpu_intr - EXTERNAL_INTERRUPT_OFFSET))
|
Some(core::mem::transmute::<u32, CpuInterrupt>(
|
||||||
|
cpu_intr - EXTERNAL_INTERRUPT_OFFSET,
|
||||||
|
))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
@ -327,15 +329,15 @@ mod vectored {
|
|||||||
for (prio, num) in PRIORITY_TO_INTERRUPT.iter().enumerate() {
|
for (prio, num) in PRIORITY_TO_INTERRUPT.iter().enumerate() {
|
||||||
set_kind(
|
set_kind(
|
||||||
crate::get_core(),
|
crate::get_core(),
|
||||||
core::mem::transmute(*num as u32),
|
core::mem::transmute::<u32, CpuInterrupt>(*num as u32),
|
||||||
InterruptKind::Level,
|
InterruptKind::Level,
|
||||||
);
|
);
|
||||||
set_priority(
|
set_priority(
|
||||||
crate::get_core(),
|
crate::get_core(),
|
||||||
core::mem::transmute(*num as u32),
|
core::mem::transmute::<u32, CpuInterrupt>(*num as u32),
|
||||||
core::mem::transmute((prio as u8) + 1),
|
core::mem::transmute::<u8, Priority>((prio as u8) + 1),
|
||||||
);
|
);
|
||||||
enable_cpu_interrupt(core::mem::transmute(*num as u32));
|
enable_cpu_interrupt(core::mem::transmute::<u32, CpuInterrupt>(*num as u32));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,7 +351,7 @@ mod vectored {
|
|||||||
let interrupt_nr = status.trailing_zeros() as u16;
|
let interrupt_nr = status.trailing_zeros() as u16;
|
||||||
// safety: cast is safe because of repr(u16)
|
// safety: cast is safe because of repr(u16)
|
||||||
if let Some(cpu_interrupt) =
|
if let Some(cpu_interrupt) =
|
||||||
get_assigned_cpu_interrupt(core::mem::transmute(interrupt_nr))
|
get_assigned_cpu_interrupt(core::mem::transmute::<u16, Interrupt>(interrupt_nr))
|
||||||
{
|
{
|
||||||
let prio = get_priority_by_core(core, cpu_interrupt);
|
let prio = get_priority_by_core(core, cpu_interrupt);
|
||||||
prios[prio as usize] |= 1 << (interrupt_nr as usize);
|
prios[prio as usize] |= 1 << (interrupt_nr as usize);
|
||||||
@ -371,8 +373,9 @@ mod vectored {
|
|||||||
return Err(Error::InvalidInterruptPriority);
|
return Err(Error::InvalidInterruptPriority);
|
||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
let cpu_interrupt =
|
let cpu_interrupt = core::mem::transmute::<u32, CpuInterrupt>(
|
||||||
core::mem::transmute(PRIORITY_TO_INTERRUPT[(level as usize) - 1] as u32);
|
PRIORITY_TO_INTERRUPT[(level as usize) - 1] as u32,
|
||||||
|
);
|
||||||
map(crate::get_core(), interrupt, cpu_interrupt);
|
map(crate::get_core(), interrupt, cpu_interrupt);
|
||||||
enable_cpu_interrupt(cpu_interrupt);
|
enable_cpu_interrupt(cpu_interrupt);
|
||||||
}
|
}
|
||||||
@ -423,7 +426,8 @@ mod vectored {
|
|||||||
) {
|
) {
|
||||||
EspDefaultHandler(interrupt);
|
EspDefaultHandler(interrupt);
|
||||||
} else {
|
} else {
|
||||||
let handler: fn(&mut TrapFrame) = core::mem::transmute(handler);
|
let handler: fn(&mut TrapFrame) =
|
||||||
|
core::mem::transmute::<unsafe extern "C" fn(), fn(&mut TrapFrame)>(handler);
|
||||||
handler(save_frame);
|
handler(save_frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -632,7 +636,7 @@ mod classic {
|
|||||||
let prio = intr_prio_base
|
let prio = intr_prio_base
|
||||||
.offset(cpu_interrupt as isize)
|
.offset(cpu_interrupt as isize)
|
||||||
.read_volatile();
|
.read_volatile();
|
||||||
core::mem::transmute(prio as u8)
|
core::mem::transmute::<u8, Priority>(prio as u8)
|
||||||
}
|
}
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
#[link_section = ".trap"]
|
#[link_section = ".trap"]
|
||||||
@ -761,7 +765,7 @@ mod plic {
|
|||||||
let prio = plic_mxint_pri_ptr
|
let prio = plic_mxint_pri_ptr
|
||||||
.offset(cpu_interrupt_number)
|
.offset(cpu_interrupt_number)
|
||||||
.read_volatile();
|
.read_volatile();
|
||||||
core::mem::transmute(prio as u8)
|
core::mem::transmute::<u8, Priority>(prio as u8)
|
||||||
}
|
}
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
#[link_section = ".trap"]
|
#[link_section = ".trap"]
|
||||||
@ -904,7 +908,7 @@ mod clic {
|
|||||||
unsafe {
|
unsafe {
|
||||||
let intr_cntrl = intr_cntrl(core, cpu_interrupt_number);
|
let intr_cntrl = intr_cntrl(core, cpu_interrupt_number);
|
||||||
let val = InterruptControl(intr_cntrl.read_volatile());
|
let val = InterruptControl(intr_cntrl.read_volatile());
|
||||||
core::mem::transmute(val.priority())
|
core::mem::transmute::<u8, Priority>(val.priority())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -321,7 +321,8 @@ mod vectored {
|
|||||||
let i = interrupt_nr as isize;
|
let i = interrupt_nr as isize;
|
||||||
let cpu_interrupt = intr_map_base.offset(i).read_volatile();
|
let cpu_interrupt = intr_map_base.offset(i).read_volatile();
|
||||||
// safety: cast is safe because of repr(u32)
|
// safety: cast is safe because of repr(u32)
|
||||||
let cpu_interrupt: CpuInterrupt = core::mem::transmute(cpu_interrupt);
|
let cpu_interrupt: CpuInterrupt =
|
||||||
|
core::mem::transmute::<u32, CpuInterrupt>(cpu_interrupt);
|
||||||
let level = cpu_interrupt.level() as u8 as usize;
|
let level = cpu_interrupt.level() as u8 as usize;
|
||||||
|
|
||||||
levels[level] |= 1 << i;
|
levels[level] |= 1 << i;
|
||||||
@ -491,7 +492,8 @@ mod vectored {
|
|||||||
) {
|
) {
|
||||||
EspDefaultHandler(level, interrupt);
|
EspDefaultHandler(level, interrupt);
|
||||||
} else {
|
} else {
|
||||||
let handler: fn(&mut Context) = core::mem::transmute(handler);
|
let handler: fn(&mut Context) =
|
||||||
|
core::mem::transmute::<unsafe extern "C" fn(), fn(&mut Context)>(handler);
|
||||||
handler(save_frame);
|
handler(save_frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,42 +76,150 @@ pub(crate) fn get_io_mux_reg(gpio_num: u8) -> &'static crate::peripherals::io_mu
|
|||||||
let iomux = &*crate::peripherals::IO_MUX::PTR;
|
let iomux = &*crate::peripherals::IO_MUX::PTR;
|
||||||
|
|
||||||
match gpio_num {
|
match gpio_num {
|
||||||
0 => core::mem::transmute(iomux.gpio0()),
|
0 => core::mem::transmute::<
|
||||||
1 => core::mem::transmute(iomux.gpio1()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
2 => core::mem::transmute(iomux.gpio2()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
3 => core::mem::transmute(iomux.gpio3()),
|
>(iomux.gpio0()),
|
||||||
4 => core::mem::transmute(iomux.gpio4()),
|
1 => core::mem::transmute::<
|
||||||
5 => core::mem::transmute(iomux.gpio5()),
|
&'static crate::peripherals::io_mux::GPIO1,
|
||||||
6 => core::mem::transmute(iomux.gpio6()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
7 => core::mem::transmute(iomux.gpio7()),
|
>(iomux.gpio1()),
|
||||||
8 => core::mem::transmute(iomux.gpio8()),
|
2 => core::mem::transmute::<
|
||||||
9 => core::mem::transmute(iomux.gpio9()),
|
&'static crate::peripherals::io_mux::GPIO2,
|
||||||
10 => core::mem::transmute(iomux.gpio10()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
11 => core::mem::transmute(iomux.gpio11()),
|
>(iomux.gpio2()),
|
||||||
12 => core::mem::transmute(iomux.gpio12()),
|
3 => core::mem::transmute::<
|
||||||
13 => core::mem::transmute(iomux.gpio13()),
|
&'static crate::peripherals::io_mux::GPIO3,
|
||||||
14 => core::mem::transmute(iomux.gpio14()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
15 => core::mem::transmute(iomux.gpio15()),
|
>(iomux.gpio3()),
|
||||||
16 => core::mem::transmute(iomux.gpio16()),
|
4 => core::mem::transmute::<
|
||||||
17 => core::mem::transmute(iomux.gpio17()),
|
&'static crate::peripherals::io_mux::GPIO4,
|
||||||
18 => core::mem::transmute(iomux.gpio18()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
19 => core::mem::transmute(iomux.gpio19()),
|
>(iomux.gpio4()),
|
||||||
20 => core::mem::transmute(iomux.gpio20()),
|
5 => core::mem::transmute::<
|
||||||
21 => core::mem::transmute(iomux.gpio21()),
|
&'static crate::peripherals::io_mux::GPIO5,
|
||||||
22 => core::mem::transmute(iomux.gpio22()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
23 => core::mem::transmute(iomux.gpio23()),
|
>(iomux.gpio5()),
|
||||||
24 => core::mem::transmute(iomux.gpio24()),
|
6 => core::mem::transmute::<
|
||||||
25 => core::mem::transmute(iomux.gpio25()),
|
&'static crate::peripherals::io_mux::GPIO6,
|
||||||
26 => core::mem::transmute(iomux.gpio26()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
27 => core::mem::transmute(iomux.gpio27()),
|
>(iomux.gpio6()),
|
||||||
32 => core::mem::transmute(iomux.gpio32()),
|
7 => core::mem::transmute::<
|
||||||
33 => core::mem::transmute(iomux.gpio33()),
|
&'static crate::peripherals::io_mux::GPIO7,
|
||||||
34 => core::mem::transmute(iomux.gpio34()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
35 => core::mem::transmute(iomux.gpio35()),
|
>(iomux.gpio7()),
|
||||||
36 => core::mem::transmute(iomux.gpio36()),
|
8 => core::mem::transmute::<
|
||||||
37 => core::mem::transmute(iomux.gpio37()),
|
&'static crate::peripherals::io_mux::GPIO8,
|
||||||
38 => core::mem::transmute(iomux.gpio38()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
39 => core::mem::transmute(iomux.gpio39()),
|
>(iomux.gpio8()),
|
||||||
|
9 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO9,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio9()),
|
||||||
|
10 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO10,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio10()),
|
||||||
|
11 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO11,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio11()),
|
||||||
|
12 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO12,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio12()),
|
||||||
|
13 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO13,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio13()),
|
||||||
|
14 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO14,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio14()),
|
||||||
|
15 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO15,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio15()),
|
||||||
|
16 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO16,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio16()),
|
||||||
|
17 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO17,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio17()),
|
||||||
|
18 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO18,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio18()),
|
||||||
|
19 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO19,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio19()),
|
||||||
|
20 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO20,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio20()),
|
||||||
|
21 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO21,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio21()),
|
||||||
|
22 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO22,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio22()),
|
||||||
|
23 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO23,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio23()),
|
||||||
|
24 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO24,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio24()),
|
||||||
|
25 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO25,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio25()),
|
||||||
|
26 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO26,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio26()),
|
||||||
|
27 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO27,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio27()),
|
||||||
|
32 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO32,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio32()),
|
||||||
|
33 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO33,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio33()),
|
||||||
|
34 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO34,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio34()),
|
||||||
|
35 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO35,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio35()),
|
||||||
|
36 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO36,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio36()),
|
||||||
|
37 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO37,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio37()),
|
||||||
|
38 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO38,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio38()),
|
||||||
|
39 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO39,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio39()),
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -82,45 +82,162 @@ pub(crate) const fn get_io_mux_reg(gpio_num: u8) -> &'static crate::peripherals:
|
|||||||
let iomux = &*crate::peripherals::IO_MUX::PTR;
|
let iomux = &*crate::peripherals::IO_MUX::PTR;
|
||||||
|
|
||||||
match gpio_num {
|
match gpio_num {
|
||||||
0 => core::mem::transmute(iomux.gpio0()),
|
0 => core::mem::transmute::<
|
||||||
1 => core::mem::transmute(iomux.gpio1()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
2 => core::mem::transmute(iomux.gpio2()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
3 => core::mem::transmute(iomux.gpio3()),
|
>(iomux.gpio0()),
|
||||||
4 => core::mem::transmute(iomux.gpio4()),
|
1 => core::mem::transmute::<
|
||||||
5 => core::mem::transmute(iomux.gpio5()),
|
&'static crate::peripherals::io_mux::GPIO1,
|
||||||
6 => core::mem::transmute(iomux.gpio6()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
7 => core::mem::transmute(iomux.gpio7()),
|
>(iomux.gpio1()),
|
||||||
8 => core::mem::transmute(iomux.gpio8()),
|
2 => core::mem::transmute::<
|
||||||
9 => core::mem::transmute(iomux.gpio9()),
|
&'static crate::peripherals::io_mux::GPIO2,
|
||||||
10 => core::mem::transmute(iomux.gpio10()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
11 => core::mem::transmute(iomux.gpio11()),
|
>(iomux.gpio2()),
|
||||||
12 => core::mem::transmute(iomux.gpio12()),
|
3 => core::mem::transmute::<
|
||||||
13 => core::mem::transmute(iomux.gpio13()),
|
&'static crate::peripherals::io_mux::GPIO3,
|
||||||
14 => core::mem::transmute(iomux.gpio14()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
15 => core::mem::transmute(iomux.gpio15()),
|
>(iomux.gpio3()),
|
||||||
16 => core::mem::transmute(iomux.gpio16()),
|
4 => core::mem::transmute::<
|
||||||
17 => core::mem::transmute(iomux.gpio17()),
|
&'static crate::peripherals::io_mux::GPIO4,
|
||||||
18 => core::mem::transmute(iomux.gpio18()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
19 => core::mem::transmute(iomux.gpio19()),
|
>(iomux.gpio4()),
|
||||||
20 => core::mem::transmute(iomux.gpio20()),
|
5 => core::mem::transmute::<
|
||||||
21 => core::mem::transmute(iomux.gpio21()),
|
&'static crate::peripherals::io_mux::GPIO5,
|
||||||
26 => core::mem::transmute(iomux.gpio26()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
27 => core::mem::transmute(iomux.gpio27()),
|
>(iomux.gpio5()),
|
||||||
32 => core::mem::transmute(iomux.gpio32()),
|
6 => core::mem::transmute::<
|
||||||
33 => core::mem::transmute(iomux.gpio33()),
|
&'static crate::peripherals::io_mux::GPIO6,
|
||||||
34 => core::mem::transmute(iomux.gpio34()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
35 => core::mem::transmute(iomux.gpio35()),
|
>(iomux.gpio6()),
|
||||||
36 => core::mem::transmute(iomux.gpio36()),
|
7 => core::mem::transmute::<
|
||||||
37 => core::mem::transmute(iomux.gpio37()),
|
&'static crate::peripherals::io_mux::GPIO7,
|
||||||
38 => core::mem::transmute(iomux.gpio38()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
39 => core::mem::transmute(iomux.gpio39()),
|
>(iomux.gpio7()),
|
||||||
40 => core::mem::transmute(iomux.gpio40()),
|
8 => core::mem::transmute::<
|
||||||
41 => core::mem::transmute(iomux.gpio41()),
|
&'static crate::peripherals::io_mux::GPIO8,
|
||||||
42 => core::mem::transmute(iomux.gpio42()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
43 => core::mem::transmute(iomux.gpio43()),
|
>(iomux.gpio8()),
|
||||||
44 => core::mem::transmute(iomux.gpio44()),
|
9 => core::mem::transmute::<
|
||||||
45 => core::mem::transmute(iomux.gpio45()),
|
&'static crate::peripherals::io_mux::GPIO9,
|
||||||
46 => core::mem::transmute(iomux.gpio46()),
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio9()),
|
||||||
|
10 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO10,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio10()),
|
||||||
|
11 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO11,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio11()),
|
||||||
|
12 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO12,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio12()),
|
||||||
|
13 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO13,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio13()),
|
||||||
|
14 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO14,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio14()),
|
||||||
|
15 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO15,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio15()),
|
||||||
|
16 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO16,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio16()),
|
||||||
|
17 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO17,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio17()),
|
||||||
|
18 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO18,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio18()),
|
||||||
|
19 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO19,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio19()),
|
||||||
|
20 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO20,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio20()),
|
||||||
|
21 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO21,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio21()),
|
||||||
|
26 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO26,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio26()),
|
||||||
|
27 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO27,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio27()),
|
||||||
|
32 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO32,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio32()),
|
||||||
|
33 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO33,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio33()),
|
||||||
|
34 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO34,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio34()),
|
||||||
|
35 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO35,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio35()),
|
||||||
|
36 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO36,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio36()),
|
||||||
|
37 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO37,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio37()),
|
||||||
|
38 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO38,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio38()),
|
||||||
|
39 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO39,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio39()),
|
||||||
|
40 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO40,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio40()),
|
||||||
|
41 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO41,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio41()),
|
||||||
|
42 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO42,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio42()),
|
||||||
|
43 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO43,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio43()),
|
||||||
|
44 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO44,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio44()),
|
||||||
|
45 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO45,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio45()),
|
||||||
|
46 => core::mem::transmute::<
|
||||||
|
&'static crate::peripherals::io_mux::GPIO46,
|
||||||
|
&'static crate::peripherals::io_mux::GPIO0,
|
||||||
|
>(iomux.gpio46()),
|
||||||
_ => ::core::unreachable!(),
|
_ => ::core::unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,6 +39,12 @@ use crate::{
|
|||||||
target0_conf::TARGET0_CONF_SPEC,
|
target0_conf::TARGET0_CONF_SPEC,
|
||||||
target0_hi::TARGET0_HI_SPEC,
|
target0_hi::TARGET0_HI_SPEC,
|
||||||
target0_lo::TARGET0_LO_SPEC,
|
target0_lo::TARGET0_LO_SPEC,
|
||||||
|
target1_conf::TARGET1_CONF_SPEC,
|
||||||
|
target1_hi::TARGET1_HI_SPEC,
|
||||||
|
target1_lo::TARGET1_LO_SPEC,
|
||||||
|
target2_conf::TARGET2_CONF_SPEC,
|
||||||
|
target2_hi::TARGET2_HI_SPEC,
|
||||||
|
target2_lo::TARGET2_LO_SPEC,
|
||||||
},
|
},
|
||||||
SYSTIMER,
|
SYSTIMER,
|
||||||
},
|
},
|
||||||
@ -157,14 +163,26 @@ impl<T, DM: crate::Mode, const CHANNEL: u8> Alarm<T, DM, CHANNEL> {
|
|||||||
systimer.target0_lo(),
|
systimer.target0_lo(),
|
||||||
),
|
),
|
||||||
1 => (
|
1 => (
|
||||||
transmute(systimer.target1_conf()),
|
transmute::<&Reg<TARGET1_CONF_SPEC>, &Reg<TARGET0_CONF_SPEC>>(
|
||||||
transmute(systimer.target1_hi()),
|
systimer.target1_conf(),
|
||||||
transmute(systimer.target1_lo()),
|
),
|
||||||
|
transmute::<&Reg<TARGET1_HI_SPEC>, &Reg<TARGET0_HI_SPEC>>(
|
||||||
|
systimer.target1_hi(),
|
||||||
|
),
|
||||||
|
transmute::<&Reg<TARGET1_LO_SPEC>, &Reg<TARGET0_LO_SPEC>>(
|
||||||
|
systimer.target1_lo(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
2 => (
|
2 => (
|
||||||
transmute(systimer.target2_conf()),
|
transmute::<&Reg<TARGET2_CONF_SPEC>, &Reg<TARGET0_CONF_SPEC>>(
|
||||||
transmute(systimer.target2_hi()),
|
systimer.target2_conf(),
|
||||||
transmute(systimer.target2_lo()),
|
),
|
||||||
|
transmute::<&Reg<TARGET2_HI_SPEC>, &Reg<TARGET0_HI_SPEC>>(
|
||||||
|
systimer.target2_hi(),
|
||||||
|
),
|
||||||
|
transmute::<&Reg<TARGET2_LO_SPEC>, &Reg<TARGET0_LO_SPEC>>(
|
||||||
|
systimer.target2_lo(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user