pub type R = crate::R<CFGR2rs>;
pub type W = crate::W<CFGR2rs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ROVSE {
Disabled = 0,
Enabled = 1,
}
impl From<ROVSE> for bool {
#[inline(always)]
fn from(variant: ROVSE) -> Self {
variant as u8 != 0
}
}
pub type ROVSE_R = crate::BitReader<ROVSE>;
impl ROVSE_R {
#[inline(always)]
pub const fn variant(&self) -> ROVSE {
match self.bits {
false => ROVSE::Disabled,
true => ROVSE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == ROVSE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == ROVSE::Enabled
}
}
pub type ROVSE_W<'a, REG> = crate::BitWriter<'a, REG, ROVSE>;
impl<'a, REG> ROVSE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(ROVSE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(ROVSE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum JOVSE {
Disabled = 0,
Enabled = 1,
}
impl From<JOVSE> for bool {
#[inline(always)]
fn from(variant: JOVSE) -> Self {
variant as u8 != 0
}
}
pub type JOVSE_R = crate::BitReader<JOVSE>;
impl JOVSE_R {
#[inline(always)]
pub const fn variant(&self) -> JOVSE {
match self.bits {
false => JOVSE::Disabled,
true => JOVSE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == JOVSE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == JOVSE::Enabled
}
}
pub type JOVSE_W<'a, REG> = crate::BitWriter<'a, REG, JOVSE>;
impl<'a, REG> JOVSE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(JOVSE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(JOVSE::Enabled)
}
}
pub type OVSS_R = crate::FieldReader;
pub type OVSS_W<'a, REG> = crate::FieldWriter<'a, REG, 4>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TROVS {
Automatic = 0,
Triggered = 1,
}
impl From<TROVS> for bool {
#[inline(always)]
fn from(variant: TROVS) -> Self {
variant as u8 != 0
}
}
pub type TROVS_R = crate::BitReader<TROVS>;
impl TROVS_R {
#[inline(always)]
pub const fn variant(&self) -> TROVS {
match self.bits {
false => TROVS::Automatic,
true => TROVS::Triggered,
}
}
#[inline(always)]
pub fn is_automatic(&self) -> bool {
*self == TROVS::Automatic
}
#[inline(always)]
pub fn is_triggered(&self) -> bool {
*self == TROVS::Triggered
}
}
pub type TROVS_W<'a, REG> = crate::BitWriter<'a, REG, TROVS>;
impl<'a, REG> TROVS_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn automatic(self) -> &'a mut crate::W<REG> {
self.variant(TROVS::Automatic)
}
#[inline(always)]
pub fn triggered(self) -> &'a mut crate::W<REG> {
self.variant(TROVS::Triggered)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ROVSM {
Continued = 0,
Resumed = 1,
}
impl From<ROVSM> for bool {
#[inline(always)]
fn from(variant: ROVSM) -> Self {
variant as u8 != 0
}
}
pub type ROVSM_R = crate::BitReader<ROVSM>;
impl ROVSM_R {
#[inline(always)]
pub const fn variant(&self) -> ROVSM {
match self.bits {
false => ROVSM::Continued,
true => ROVSM::Resumed,
}
}
#[inline(always)]
pub fn is_continued(&self) -> bool {
*self == ROVSM::Continued
}
#[inline(always)]
pub fn is_resumed(&self) -> bool {
*self == ROVSM::Resumed
}
}
pub type ROVSM_W<'a, REG> = crate::BitWriter<'a, REG, ROVSM>;
impl<'a, REG> ROVSM_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn continued(self) -> &'a mut crate::W<REG> {
self.variant(ROVSM::Continued)
}
#[inline(always)]
pub fn resumed(self) -> &'a mut crate::W<REG> {
self.variant(ROVSM::Resumed)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RSHIFT1 {
Disabled = 0,
Enabled = 1,
}
impl From<RSHIFT1> for bool {
#[inline(always)]
fn from(variant: RSHIFT1) -> Self {
variant as u8 != 0
}
}
pub type RSHIFT_R = crate::BitReader<RSHIFT1>;
impl RSHIFT_R {
#[inline(always)]
pub const fn variant(&self) -> RSHIFT1 {
match self.bits {
false => RSHIFT1::Disabled,
true => RSHIFT1::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == RSHIFT1::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == RSHIFT1::Enabled
}
}
pub type RSHIFT_W<'a, REG> = crate::BitWriter<'a, REG, RSHIFT1>;
impl<'a, REG> RSHIFT_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(RSHIFT1::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(RSHIFT1::Enabled)
}
}
pub type OSVR_R = crate::FieldReader<u16>;
pub type OSVR_W<'a, REG> = crate::FieldWriter<'a, REG, 10, u16, crate::Safe>;
pub type LSHIFT_R = crate::FieldReader;
pub type LSHIFT_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
impl R {
#[inline(always)]
pub fn rovse(&self) -> ROVSE_R {
ROVSE_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn jovse(&self) -> JOVSE_R {
JOVSE_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn ovss(&self) -> OVSS_R {
OVSS_R::new(((self.bits >> 5) & 0x0f) as u8)
}
#[inline(always)]
pub fn trovs(&self) -> TROVS_R {
TROVS_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn rovsm(&self) -> ROVSM_R {
ROVSM_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn rshift(&self, n: u8) -> RSHIFT_R {
#[allow(clippy::no_effect)] [(); 4][n as usize];
RSHIFT_R::new(((self.bits >> (n + 11)) & 1) != 0)
}
#[inline(always)]
pub fn rshift_iter(&self) -> impl Iterator<Item = RSHIFT_R> + '_ {
(0..4).map(move |n| RSHIFT_R::new(((self.bits >> (n + 11)) & 1) != 0))
}
#[inline(always)]
pub fn rshift1(&self) -> RSHIFT_R {
RSHIFT_R::new(((self.bits >> 11) & 1) != 0)
}
#[inline(always)]
pub fn rshift2(&self) -> RSHIFT_R {
RSHIFT_R::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn rshift3(&self) -> RSHIFT_R {
RSHIFT_R::new(((self.bits >> 13) & 1) != 0)
}
#[inline(always)]
pub fn rshift4(&self) -> RSHIFT_R {
RSHIFT_R::new(((self.bits >> 14) & 1) != 0)
}
#[inline(always)]
pub fn osvr(&self) -> OSVR_R {
OSVR_R::new(((self.bits >> 16) & 0x03ff) as u16)
}
#[inline(always)]
pub fn lshift(&self) -> LSHIFT_R {
LSHIFT_R::new(((self.bits >> 28) & 0x0f) as u8)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CFGR2")
.field("rovse", &self.rovse())
.field("jovse", &self.jovse())
.field("ovss", &self.ovss())
.field("trovs", &self.trovs())
.field("rovsm", &self.rovsm())
.field("rshift1", &self.rshift1())
.field("rshift2", &self.rshift2())
.field("rshift3", &self.rshift3())
.field("rshift4", &self.rshift4())
.field("osvr", &self.osvr())
.field("lshift", &self.lshift())
.finish()
}
}
impl W {
#[inline(always)]
pub fn rovse(&mut self) -> ROVSE_W<CFGR2rs> {
ROVSE_W::new(self, 0)
}
#[inline(always)]
pub fn jovse(&mut self) -> JOVSE_W<CFGR2rs> {
JOVSE_W::new(self, 1)
}
#[inline(always)]
pub fn ovss(&mut self) -> OVSS_W<CFGR2rs> {
OVSS_W::new(self, 5)
}
#[inline(always)]
pub fn trovs(&mut self) -> TROVS_W<CFGR2rs> {
TROVS_W::new(self, 9)
}
#[inline(always)]
pub fn rovsm(&mut self) -> ROVSM_W<CFGR2rs> {
ROVSM_W::new(self, 10)
}
#[inline(always)]
pub fn rshift(&mut self, n: u8) -> RSHIFT_W<CFGR2rs> {
#[allow(clippy::no_effect)] [(); 4][n as usize];
RSHIFT_W::new(self, n + 11)
}
#[inline(always)]
pub fn rshift1(&mut self) -> RSHIFT_W<CFGR2rs> {
RSHIFT_W::new(self, 11)
}
#[inline(always)]
pub fn rshift2(&mut self) -> RSHIFT_W<CFGR2rs> {
RSHIFT_W::new(self, 12)
}
#[inline(always)]
pub fn rshift3(&mut self) -> RSHIFT_W<CFGR2rs> {
RSHIFT_W::new(self, 13)
}
#[inline(always)]
pub fn rshift4(&mut self) -> RSHIFT_W<CFGR2rs> {
RSHIFT_W::new(self, 14)
}
#[inline(always)]
pub fn osvr(&mut self) -> OSVR_W<CFGR2rs> {
OSVR_W::new(self, 16)
}
#[inline(always)]
pub fn lshift(&mut self) -> LSHIFT_W<CFGR2rs> {
LSHIFT_W::new(self, 28)
}
}
pub struct CFGR2rs;
impl crate::RegisterSpec for CFGR2rs {
type Ux = u32;
}
impl crate::Readable for CFGR2rs {}
impl crate::Writable for CFGR2rs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CFGR2rs {}