#![allow(clippy::identity_op)]
#![allow(clippy::module_inception)]
#![allow(clippy::derivable_impls)]
#[allow(unused_imports)]
use crate::common::sealed;
#[allow(unused_imports)]
use crate::common::*;
#[doc = r"Inter-Integrated Circuit 0 Wake-up Unit"]
unsafe impl ::core::marker::Send for super::Iic0WuB {}
unsafe impl ::core::marker::Sync for super::Iic0WuB {}
impl super::Iic0WuB {
#[allow(unused)]
#[inline(always)]
pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
self.ptr
}
#[doc = "Wake Up Unit Control Register"]
#[inline(always)]
pub const fn wuctl(&self) -> &'static crate::common::Reg<self::Wuctl_SPEC, crate::common::RW> {
unsafe {
crate::common::Reg::<self::Wuctl_SPEC, crate::common::RW>::from_ptr(
self._svd2pac_as_ptr().add(0usize),
)
}
}
#[doc = "Wake Up Unit Operating Status Register"]
#[inline(always)]
pub const fn wust(&self) -> &'static crate::common::Reg<self::Wust_SPEC, crate::common::R> {
unsafe {
crate::common::Reg::<self::Wust_SPEC, crate::common::R>::from_ptr(
self._svd2pac_as_ptr().add(384usize),
)
}
}
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Wuctl_SPEC;
impl crate::sealed::RegSpec for Wuctl_SPEC {
type DataType = u32;
}
#[doc = "Wake Up Unit Control Register"]
pub type Wuctl = crate::RegValueT<Wuctl_SPEC>;
impl Wuctl {
#[doc = "Wake-Up Acknowledge Selection"]
#[inline(always)]
pub fn wuacks(
self,
) -> crate::common::RegisterFieldBool<0, 1, 0, Wuctl_SPEC, crate::common::RW> {
crate::common::RegisterFieldBool::<0, 1, 0, Wuctl_SPEC, crate::common::RW>::from_register(
self, 0,
)
}
#[doc = "Wake-Up Analog Noise Filter Selection"]
#[inline(always)]
pub fn wuanfs(
self,
) -> crate::common::RegisterField<
4,
0x1,
1,
0,
wuctl::Wuanfs,
wuctl::Wuanfs,
Wuctl_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
4,
0x1,
1,
0,
wuctl::Wuanfs,
wuctl::Wuanfs,
Wuctl_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "Wake-Up function PCLKA Synchronous Enable"]
#[inline(always)]
pub fn wufsyne(
self,
) -> crate::common::RegisterField<
6,
0x1,
1,
0,
wuctl::Wufsyne,
wuctl::Wufsyne,
Wuctl_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
6,
0x1,
1,
0,
wuctl::Wufsyne,
wuctl::Wufsyne,
Wuctl_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "Wake-Up function Enable"]
#[inline(always)]
pub fn wufe(
self,
) -> crate::common::RegisterField<
7,
0x1,
1,
0,
wuctl::Wufe,
wuctl::Wufe,
Wuctl_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
7,
0x1,
1,
0,
wuctl::Wufe,
wuctl::Wufe,
Wuctl_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
}
impl ::core::default::Default for Wuctl {
#[inline(always)]
fn default() -> Wuctl {
<crate::RegValueT<Wuctl_SPEC> as RegisterValue<_>>::new(65)
}
}
pub mod wuctl {
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Wuanfs_SPEC;
pub type Wuanfs = crate::EnumBitfieldStruct<u8, Wuanfs_SPEC>;
impl Wuanfs {
#[doc = "Do not add the Wake Up analog filter."]
pub const _0: Self = Self::new(0);
#[doc = "Add the Wake Up analog filter."]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Wufsyne_SPEC;
pub type Wufsyne = crate::EnumBitfieldStruct<u8, Wufsyne_SPEC>;
impl Wufsyne {
#[doc = "IIC asynchronous circuit enable"]
pub const _0: Self = Self::new(0);
#[doc = "IIC synchronous circuit enable"]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Wufe_SPEC;
pub type Wufe = crate::EnumBitfieldStruct<u8, Wufe_SPEC>;
impl Wufe {
#[doc = "Wake-up function disables"]
pub const _0: Self = Self::new(0);
#[doc = "Wake-up function enables"]
pub const _1: Self = Self::new(1);
}
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Wust_SPEC;
impl crate::sealed::RegSpec for Wust_SPEC {
type DataType = u32;
}
#[doc = "Wake Up Unit Operating Status Register"]
pub type Wust = crate::RegValueT<Wust_SPEC>;
impl Wust {
#[doc = "Wake-up function asynchronous operation status flag"]
#[inline(always)]
pub fn wuasynf(
self,
) -> crate::common::RegisterField<
0,
0x1,
1,
0,
wust::Wuasynf,
wust::Wuasynf,
Wust_SPEC,
crate::common::R,
> {
crate::common::RegisterField::<
0,
0x1,
1,
0,
wust::Wuasynf,
wust::Wuasynf,
Wust_SPEC,
crate::common::R,
>::from_register(self, 0)
}
}
impl ::core::default::Default for Wust {
#[inline(always)]
fn default() -> Wust {
<crate::RegValueT<Wust_SPEC> as RegisterValue<_>>::new(0)
}
}
pub mod wust {
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Wuasynf_SPEC;
pub type Wuasynf = crate::EnumBitfieldStruct<u8, Wuasynf_SPEC>;
impl Wuasynf {
#[doc = "IIC synchronous circuit enable condition."]
pub const _0: Self = Self::new(0);
#[doc = "IIC asynchronous circuit enable condition."]
pub const _1: Self = Self::new(1);
}
}