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();
|
||||
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 {
|
||||
None
|
||||
}
|
||||
@ -327,15 +329,15 @@ mod vectored {
|
||||
for (prio, num) in PRIORITY_TO_INTERRUPT.iter().enumerate() {
|
||||
set_kind(
|
||||
crate::get_core(),
|
||||
core::mem::transmute(*num as u32),
|
||||
core::mem::transmute::<u32, CpuInterrupt>(*num as u32),
|
||||
InterruptKind::Level,
|
||||
);
|
||||
set_priority(
|
||||
crate::get_core(),
|
||||
core::mem::transmute(*num as u32),
|
||||
core::mem::transmute((prio as u8) + 1),
|
||||
core::mem::transmute::<u32, CpuInterrupt>(*num as u32),
|
||||
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;
|
||||
// safety: cast is safe because of repr(u16)
|
||||
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);
|
||||
prios[prio as usize] |= 1 << (interrupt_nr as usize);
|
||||
@ -371,8 +373,9 @@ mod vectored {
|
||||
return Err(Error::InvalidInterruptPriority);
|
||||
}
|
||||
unsafe {
|
||||
let cpu_interrupt =
|
||||
core::mem::transmute(PRIORITY_TO_INTERRUPT[(level as usize) - 1] as u32);
|
||||
let cpu_interrupt = core::mem::transmute::<u32, CpuInterrupt>(
|
||||
PRIORITY_TO_INTERRUPT[(level as usize) - 1] as u32,
|
||||
);
|
||||
map(crate::get_core(), interrupt, cpu_interrupt);
|
||||
enable_cpu_interrupt(cpu_interrupt);
|
||||
}
|
||||
@ -423,7 +426,8 @@ mod vectored {
|
||||
) {
|
||||
EspDefaultHandler(interrupt);
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
@ -632,7 +636,7 @@ mod classic {
|
||||
let prio = intr_prio_base
|
||||
.offset(cpu_interrupt as isize)
|
||||
.read_volatile();
|
||||
core::mem::transmute(prio as u8)
|
||||
core::mem::transmute::<u8, Priority>(prio as u8)
|
||||
}
|
||||
#[no_mangle]
|
||||
#[link_section = ".trap"]
|
||||
@ -761,7 +765,7 @@ mod plic {
|
||||
let prio = plic_mxint_pri_ptr
|
||||
.offset(cpu_interrupt_number)
|
||||
.read_volatile();
|
||||
core::mem::transmute(prio as u8)
|
||||
core::mem::transmute::<u8, Priority>(prio as u8)
|
||||
}
|
||||
#[no_mangle]
|
||||
#[link_section = ".trap"]
|
||||
@ -904,7 +908,7 @@ mod clic {
|
||||
unsafe {
|
||||
let intr_cntrl = intr_cntrl(core, cpu_interrupt_number);
|
||||
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 cpu_interrupt = intr_map_base.offset(i).read_volatile();
|
||||
// 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;
|
||||
|
||||
levels[level] |= 1 << i;
|
||||
@ -491,7 +492,8 @@ mod vectored {
|
||||
) {
|
||||
EspDefaultHandler(level, interrupt);
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
match gpio_num {
|
||||
0 => core::mem::transmute(iomux.gpio0()),
|
||||
1 => core::mem::transmute(iomux.gpio1()),
|
||||
2 => core::mem::transmute(iomux.gpio2()),
|
||||
3 => core::mem::transmute(iomux.gpio3()),
|
||||
4 => core::mem::transmute(iomux.gpio4()),
|
||||
5 => core::mem::transmute(iomux.gpio5()),
|
||||
6 => core::mem::transmute(iomux.gpio6()),
|
||||
7 => core::mem::transmute(iomux.gpio7()),
|
||||
8 => core::mem::transmute(iomux.gpio8()),
|
||||
9 => core::mem::transmute(iomux.gpio9()),
|
||||
10 => core::mem::transmute(iomux.gpio10()),
|
||||
11 => core::mem::transmute(iomux.gpio11()),
|
||||
12 => core::mem::transmute(iomux.gpio12()),
|
||||
13 => core::mem::transmute(iomux.gpio13()),
|
||||
14 => core::mem::transmute(iomux.gpio14()),
|
||||
15 => core::mem::transmute(iomux.gpio15()),
|
||||
16 => core::mem::transmute(iomux.gpio16()),
|
||||
17 => core::mem::transmute(iomux.gpio17()),
|
||||
18 => core::mem::transmute(iomux.gpio18()),
|
||||
19 => core::mem::transmute(iomux.gpio19()),
|
||||
20 => core::mem::transmute(iomux.gpio20()),
|
||||
21 => core::mem::transmute(iomux.gpio21()),
|
||||
22 => core::mem::transmute(iomux.gpio22()),
|
||||
23 => core::mem::transmute(iomux.gpio23()),
|
||||
24 => core::mem::transmute(iomux.gpio24()),
|
||||
25 => core::mem::transmute(iomux.gpio25()),
|
||||
26 => core::mem::transmute(iomux.gpio26()),
|
||||
27 => core::mem::transmute(iomux.gpio27()),
|
||||
32 => core::mem::transmute(iomux.gpio32()),
|
||||
33 => core::mem::transmute(iomux.gpio33()),
|
||||
34 => core::mem::transmute(iomux.gpio34()),
|
||||
35 => core::mem::transmute(iomux.gpio35()),
|
||||
36 => core::mem::transmute(iomux.gpio36()),
|
||||
37 => core::mem::transmute(iomux.gpio37()),
|
||||
38 => core::mem::transmute(iomux.gpio38()),
|
||||
39 => core::mem::transmute(iomux.gpio39()),
|
||||
0 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio0()),
|
||||
1 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO1,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio1()),
|
||||
2 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO2,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio2()),
|
||||
3 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO3,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio3()),
|
||||
4 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO4,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio4()),
|
||||
5 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO5,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio5()),
|
||||
6 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO6,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio6()),
|
||||
7 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO7,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio7()),
|
||||
8 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO8,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(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!(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
match gpio_num {
|
||||
0 => core::mem::transmute(iomux.gpio0()),
|
||||
1 => core::mem::transmute(iomux.gpio1()),
|
||||
2 => core::mem::transmute(iomux.gpio2()),
|
||||
3 => core::mem::transmute(iomux.gpio3()),
|
||||
4 => core::mem::transmute(iomux.gpio4()),
|
||||
5 => core::mem::transmute(iomux.gpio5()),
|
||||
6 => core::mem::transmute(iomux.gpio6()),
|
||||
7 => core::mem::transmute(iomux.gpio7()),
|
||||
8 => core::mem::transmute(iomux.gpio8()),
|
||||
9 => core::mem::transmute(iomux.gpio9()),
|
||||
10 => core::mem::transmute(iomux.gpio10()),
|
||||
11 => core::mem::transmute(iomux.gpio11()),
|
||||
12 => core::mem::transmute(iomux.gpio12()),
|
||||
13 => core::mem::transmute(iomux.gpio13()),
|
||||
14 => core::mem::transmute(iomux.gpio14()),
|
||||
15 => core::mem::transmute(iomux.gpio15()),
|
||||
16 => core::mem::transmute(iomux.gpio16()),
|
||||
17 => core::mem::transmute(iomux.gpio17()),
|
||||
18 => core::mem::transmute(iomux.gpio18()),
|
||||
19 => core::mem::transmute(iomux.gpio19()),
|
||||
20 => core::mem::transmute(iomux.gpio20()),
|
||||
21 => core::mem::transmute(iomux.gpio21()),
|
||||
26 => core::mem::transmute(iomux.gpio26()),
|
||||
27 => core::mem::transmute(iomux.gpio27()),
|
||||
32 => core::mem::transmute(iomux.gpio32()),
|
||||
33 => core::mem::transmute(iomux.gpio33()),
|
||||
34 => core::mem::transmute(iomux.gpio34()),
|
||||
35 => core::mem::transmute(iomux.gpio35()),
|
||||
36 => core::mem::transmute(iomux.gpio36()),
|
||||
37 => core::mem::transmute(iomux.gpio37()),
|
||||
38 => core::mem::transmute(iomux.gpio38()),
|
||||
39 => core::mem::transmute(iomux.gpio39()),
|
||||
40 => core::mem::transmute(iomux.gpio40()),
|
||||
41 => core::mem::transmute(iomux.gpio41()),
|
||||
42 => core::mem::transmute(iomux.gpio42()),
|
||||
43 => core::mem::transmute(iomux.gpio43()),
|
||||
44 => core::mem::transmute(iomux.gpio44()),
|
||||
45 => core::mem::transmute(iomux.gpio45()),
|
||||
46 => core::mem::transmute(iomux.gpio46()),
|
||||
0 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio0()),
|
||||
1 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO1,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio1()),
|
||||
2 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO2,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio2()),
|
||||
3 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO3,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio3()),
|
||||
4 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO4,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio4()),
|
||||
5 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO5,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio5()),
|
||||
6 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO6,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio6()),
|
||||
7 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO7,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(iomux.gpio7()),
|
||||
8 => core::mem::transmute::<
|
||||
&'static crate::peripherals::io_mux::GPIO8,
|
||||
&'static crate::peripherals::io_mux::GPIO0,
|
||||
>(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()),
|
||||
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!(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,6 +39,12 @@ use crate::{
|
||||
target0_conf::TARGET0_CONF_SPEC,
|
||||
target0_hi::TARGET0_HI_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,
|
||||
},
|
||||
@ -157,14 +163,26 @@ impl<T, DM: crate::Mode, const CHANNEL: u8> Alarm<T, DM, CHANNEL> {
|
||||
systimer.target0_lo(),
|
||||
),
|
||||
1 => (
|
||||
transmute(systimer.target1_conf()),
|
||||
transmute(systimer.target1_hi()),
|
||||
transmute(systimer.target1_lo()),
|
||||
transmute::<&Reg<TARGET1_CONF_SPEC>, &Reg<TARGET0_CONF_SPEC>>(
|
||||
systimer.target1_conf(),
|
||||
),
|
||||
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 => (
|
||||
transmute(systimer.target2_conf()),
|
||||
transmute(systimer.target2_hi()),
|
||||
transmute(systimer.target2_lo()),
|
||||
transmute::<&Reg<TARGET2_CONF_SPEC>, &Reg<TARGET0_CONF_SPEC>>(
|
||||
systimer.target2_conf(),
|
||||
),
|
||||
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!(),
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user