summaryrefslogtreecommitdiff
path: root/src/sdadc/ctrlb.rs
diff options
context:
space:
mode:
authorArne Dußin2021-11-06 11:50:33 +0100
committerArne Dußin2021-11-06 11:50:33 +0100
commit0666a6ba1dbd66cf8b93c113e362ccbcd99152a0 (patch)
treea184284dbd2316f4624f092e4e7521ea8c90855b /src/sdadc/ctrlb.rs
downloadsamc21-0666a6ba1dbd66cf8b93c113e362ccbcd99152a0.tar.gz
samc21-0666a6ba1dbd66cf8b93c113e362ccbcd99152a0.zip
Initial commit
Diffstat (limited to 'src/sdadc/ctrlb.rs')
-rw-r--r--src/sdadc/ctrlb.rs389
1 files changed, 389 insertions, 0 deletions
diff --git a/src/sdadc/ctrlb.rs b/src/sdadc/ctrlb.rs
new file mode 100644
index 0000000..4edfe54
--- /dev/null
+++ b/src/sdadc/ctrlb.rs
@@ -0,0 +1,389 @@
+#[doc = "Register `CTRLB` reader"]
+pub struct R(crate::R<CTRLB_SPEC>);
+impl core::ops::Deref for R {
+ type Target = crate::R<CTRLB_SPEC>;
+ #[inline(always)]
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+impl From<crate::R<CTRLB_SPEC>> for R {
+ #[inline(always)]
+ fn from(reader: crate::R<CTRLB_SPEC>) -> Self {
+ R(reader)
+ }
+}
+#[doc = "Register `CTRLB` writer"]
+pub struct W(crate::W<CTRLB_SPEC>);
+impl core::ops::Deref for W {
+ type Target = crate::W<CTRLB_SPEC>;
+ #[inline(always)]
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+impl core::ops::DerefMut for W {
+ #[inline(always)]
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.0
+ }
+}
+impl From<crate::W<CTRLB_SPEC>> for W {
+ #[inline(always)]
+ fn from(writer: crate::W<CTRLB_SPEC>) -> Self {
+ W(writer)
+ }
+}
+#[doc = "Prescaler Configuration\n\nValue on reset: 0"]
+#[derive(Clone, Copy, Debug, PartialEq)]
+#[repr(u8)]
+pub enum PRESCALER_A {
+ #[doc = "0: Peripheral clock divided by 2"]
+ DIV2 = 0,
+ #[doc = "1: Peripheral clock divided by 4"]
+ DIV4 = 1,
+ #[doc = "2: Peripheral clock divided by 8"]
+ DIV8 = 2,
+ #[doc = "3: Peripheral clock divided by 16"]
+ DIV16 = 3,
+ #[doc = "4: Peripheral clock divided by 32"]
+ DIV32 = 4,
+ #[doc = "5: Peripheral clock divided by 64"]
+ DIV64 = 5,
+ #[doc = "6: Peripheral clock divided by 128"]
+ DIV128 = 6,
+ #[doc = "7: Peripheral clock divided by 256"]
+ DIV256 = 7,
+}
+impl From<PRESCALER_A> for u8 {
+ #[inline(always)]
+ fn from(variant: PRESCALER_A) -> Self {
+ variant as _
+ }
+}
+#[doc = "Field `PRESCALER` reader - Prescaler Configuration"]
+pub struct PRESCALER_R(crate::FieldReader<u8, PRESCALER_A>);
+impl PRESCALER_R {
+ pub(crate) fn new(bits: u8) -> Self {
+ PRESCALER_R(crate::FieldReader::new(bits))
+ }
+ #[doc = r"Get enumerated values variant"]
+ #[inline(always)]
+ pub fn variant(&self) -> Option<PRESCALER_A> {
+ match self.bits {
+ 0 => Some(PRESCALER_A::DIV2),
+ 1 => Some(PRESCALER_A::DIV4),
+ 2 => Some(PRESCALER_A::DIV8),
+ 3 => Some(PRESCALER_A::DIV16),
+ 4 => Some(PRESCALER_A::DIV32),
+ 5 => Some(PRESCALER_A::DIV64),
+ 6 => Some(PRESCALER_A::DIV128),
+ 7 => Some(PRESCALER_A::DIV256),
+ _ => None,
+ }
+ }
+ #[doc = "Checks if the value of the field is `DIV2`"]
+ #[inline(always)]
+ pub fn is_div2(&self) -> bool {
+ **self == PRESCALER_A::DIV2
+ }
+ #[doc = "Checks if the value of the field is `DIV4`"]
+ #[inline(always)]
+ pub fn is_div4(&self) -> bool {
+ **self == PRESCALER_A::DIV4
+ }
+ #[doc = "Checks if the value of the field is `DIV8`"]
+ #[inline(always)]
+ pub fn is_div8(&self) -> bool {
+ **self == PRESCALER_A::DIV8
+ }
+ #[doc = "Checks if the value of the field is `DIV16`"]
+ #[inline(always)]
+ pub fn is_div16(&self) -> bool {
+ **self == PRESCALER_A::DIV16
+ }
+ #[doc = "Checks if the value of the field is `DIV32`"]
+ #[inline(always)]
+ pub fn is_div32(&self) -> bool {
+ **self == PRESCALER_A::DIV32
+ }
+ #[doc = "Checks if the value of the field is `DIV64`"]
+ #[inline(always)]
+ pub fn is_div64(&self) -> bool {
+ **self == PRESCALER_A::DIV64
+ }
+ #[doc = "Checks if the value of the field is `DIV128`"]
+ #[inline(always)]
+ pub fn is_div128(&self) -> bool {
+ **self == PRESCALER_A::DIV128
+ }
+ #[doc = "Checks if the value of the field is `DIV256`"]
+ #[inline(always)]
+ pub fn is_div256(&self) -> bool {
+ **self == PRESCALER_A::DIV256
+ }
+}
+impl core::ops::Deref for PRESCALER_R {
+ type Target = crate::FieldReader<u8, PRESCALER_A>;
+ #[inline(always)]
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+#[doc = "Field `PRESCALER` writer - Prescaler Configuration"]
+pub struct PRESCALER_W<'a> {
+ w: &'a mut W,
+}
+impl<'a> PRESCALER_W<'a> {
+ #[doc = r"Writes `variant` to the field"]
+ #[inline(always)]
+ pub fn variant(self, variant: PRESCALER_A) -> &'a mut W {
+ unsafe { self.bits(variant.into()) }
+ }
+ #[doc = "Peripheral clock divided by 2"]
+ #[inline(always)]
+ pub fn div2(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV2)
+ }
+ #[doc = "Peripheral clock divided by 4"]
+ #[inline(always)]
+ pub fn div4(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV4)
+ }
+ #[doc = "Peripheral clock divided by 8"]
+ #[inline(always)]
+ pub fn div8(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV8)
+ }
+ #[doc = "Peripheral clock divided by 16"]
+ #[inline(always)]
+ pub fn div16(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV16)
+ }
+ #[doc = "Peripheral clock divided by 32"]
+ #[inline(always)]
+ pub fn div32(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV32)
+ }
+ #[doc = "Peripheral clock divided by 64"]
+ #[inline(always)]
+ pub fn div64(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV64)
+ }
+ #[doc = "Peripheral clock divided by 128"]
+ #[inline(always)]
+ pub fn div128(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV128)
+ }
+ #[doc = "Peripheral clock divided by 256"]
+ #[inline(always)]
+ pub fn div256(self) -> &'a mut W {
+ self.variant(PRESCALER_A::DIV256)
+ }
+ #[doc = r"Writes raw bits to the field"]
+ #[inline(always)]
+ pub unsafe fn bits(self, value: u8) -> &'a mut W {
+ self.w.bits = (self.w.bits & !0xff) | (value as u16 & 0xff);
+ self.w
+ }
+}
+#[doc = "Over Sampling Ratio\n\nValue on reset: 0"]
+#[derive(Clone, Copy, Debug, PartialEq)]
+#[repr(u8)]
+pub enum OSR_A {
+ #[doc = "0: Over Sampling Ratio is 64"]
+ OSR64 = 0,
+ #[doc = "1: Over Sampling Ratio is 128"]
+ OSR128 = 1,
+ #[doc = "2: Over Sampling Ratio is 256"]
+ OSR256 = 2,
+ #[doc = "3: Over Sampling Ratio is 512"]
+ OSR512 = 3,
+ #[doc = "4: Over Sampling Ratio is 1024"]
+ OSR1024 = 4,
+}
+impl From<OSR_A> for u8 {
+ #[inline(always)]
+ fn from(variant: OSR_A) -> Self {
+ variant as _
+ }
+}
+#[doc = "Field `OSR` reader - Over Sampling Ratio"]
+pub struct OSR_R(crate::FieldReader<u8, OSR_A>);
+impl OSR_R {
+ pub(crate) fn new(bits: u8) -> Self {
+ OSR_R(crate::FieldReader::new(bits))
+ }
+ #[doc = r"Get enumerated values variant"]
+ #[inline(always)]
+ pub fn variant(&self) -> Option<OSR_A> {
+ match self.bits {
+ 0 => Some(OSR_A::OSR64),
+ 1 => Some(OSR_A::OSR128),
+ 2 => Some(OSR_A::OSR256),
+ 3 => Some(OSR_A::OSR512),
+ 4 => Some(OSR_A::OSR1024),
+ _ => None,
+ }
+ }
+ #[doc = "Checks if the value of the field is `OSR64`"]
+ #[inline(always)]
+ pub fn is_osr64(&self) -> bool {
+ **self == OSR_A::OSR64
+ }
+ #[doc = "Checks if the value of the field is `OSR128`"]
+ #[inline(always)]
+ pub fn is_osr128(&self) -> bool {
+ **self == OSR_A::OSR128
+ }
+ #[doc = "Checks if the value of the field is `OSR256`"]
+ #[inline(always)]
+ pub fn is_osr256(&self) -> bool {
+ **self == OSR_A::OSR256
+ }
+ #[doc = "Checks if the value of the field is `OSR512`"]
+ #[inline(always)]
+ pub fn is_osr512(&self) -> bool {
+ **self == OSR_A::OSR512
+ }
+ #[doc = "Checks if the value of the field is `OSR1024`"]
+ #[inline(always)]
+ pub fn is_osr1024(&self) -> bool {
+ **self == OSR_A::OSR1024
+ }
+}
+impl core::ops::Deref for OSR_R {
+ type Target = crate::FieldReader<u8, OSR_A>;
+ #[inline(always)]
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+#[doc = "Field `OSR` writer - Over Sampling Ratio"]
+pub struct OSR_W<'a> {
+ w: &'a mut W,
+}
+impl<'a> OSR_W<'a> {
+ #[doc = r"Writes `variant` to the field"]
+ #[inline(always)]
+ pub fn variant(self, variant: OSR_A) -> &'a mut W {
+ unsafe { self.bits(variant.into()) }
+ }
+ #[doc = "Over Sampling Ratio is 64"]
+ #[inline(always)]
+ pub fn osr64(self) -> &'a mut W {
+ self.variant(OSR_A::OSR64)
+ }
+ #[doc = "Over Sampling Ratio is 128"]
+ #[inline(always)]
+ pub fn osr128(self) -> &'a mut W {
+ self.variant(OSR_A::OSR128)
+ }
+ #[doc = "Over Sampling Ratio is 256"]
+ #[inline(always)]
+ pub fn osr256(self) -> &'a mut W {
+ self.variant(OSR_A::OSR256)
+ }
+ #[doc = "Over Sampling Ratio is 512"]
+ #[inline(always)]
+ pub fn osr512(self) -> &'a mut W {
+ self.variant(OSR_A::OSR512)
+ }
+ #[doc = "Over Sampling Ratio is 1024"]
+ #[inline(always)]
+ pub fn osr1024(self) -> &'a mut W {
+ self.variant(OSR_A::OSR1024)
+ }
+ #[doc = r"Writes raw bits to the field"]
+ #[inline(always)]
+ pub unsafe fn bits(self, value: u8) -> &'a mut W {
+ self.w.bits = (self.w.bits & !(0x07 << 8)) | ((value as u16 & 0x07) << 8);
+ self.w
+ }
+}
+#[doc = "Field `SKPCNT` reader - Skip Sample Count"]
+pub struct SKPCNT_R(crate::FieldReader<u8, u8>);
+impl SKPCNT_R {
+ pub(crate) fn new(bits: u8) -> Self {
+ SKPCNT_R(crate::FieldReader::new(bits))
+ }
+}
+impl core::ops::Deref for SKPCNT_R {
+ type Target = crate::FieldReader<u8, u8>;
+ #[inline(always)]
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+#[doc = "Field `SKPCNT` writer - Skip Sample Count"]
+pub struct SKPCNT_W<'a> {
+ w: &'a mut W,
+}
+impl<'a> SKPCNT_W<'a> {
+ #[doc = r"Writes raw bits to the field"]
+ #[inline(always)]
+ pub unsafe fn bits(self, value: u8) -> &'a mut W {
+ self.w.bits = (self.w.bits & !(0x0f << 12)) | ((value as u16 & 0x0f) << 12);
+ self.w
+ }
+}
+impl R {
+ #[doc = "Bits 0:7 - Prescaler Configuration"]
+ #[inline(always)]
+ pub fn prescaler(&self) -> PRESCALER_R {
+ PRESCALER_R::new((self.bits & 0xff) as u8)
+ }
+ #[doc = "Bits 8:10 - Over Sampling Ratio"]
+ #[inline(always)]
+ pub fn osr(&self) -> OSR_R {
+ OSR_R::new(((self.bits >> 8) & 0x07) as u8)
+ }
+ #[doc = "Bits 12:15 - Skip Sample Count"]
+ #[inline(always)]
+ pub fn skpcnt(&self) -> SKPCNT_R {
+ SKPCNT_R::new(((self.bits >> 12) & 0x0f) as u8)
+ }
+}
+impl W {
+ #[doc = "Bits 0:7 - Prescaler Configuration"]
+ #[inline(always)]
+ pub fn prescaler(&mut self) -> PRESCALER_W {
+ PRESCALER_W { w: self }
+ }
+ #[doc = "Bits 8:10 - Over Sampling Ratio"]
+ #[inline(always)]
+ pub fn osr(&mut self) -> OSR_W {
+ OSR_W { w: self }
+ }
+ #[doc = "Bits 12:15 - Skip Sample Count"]
+ #[inline(always)]
+ pub fn skpcnt(&mut self) -> SKPCNT_W {
+ SKPCNT_W { w: self }
+ }
+ #[doc = "Writes raw bits to the register."]
+ #[inline(always)]
+ pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
+ self.0.bits(bits);
+ self
+ }
+}
+#[doc = "Control B\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrlb](index.html) module"]
+pub struct CTRLB_SPEC;
+impl crate::RegisterSpec for CTRLB_SPEC {
+ type Ux = u16;
+}
+#[doc = "`read()` method returns [ctrlb::R](R) reader structure"]
+impl crate::Readable for CTRLB_SPEC {
+ type Reader = R;
+}
+#[doc = "`write(|w| ..)` method takes [ctrlb::W](W) writer structure"]
+impl crate::Writable for CTRLB_SPEC {
+ type Writer = W;
+}
+#[doc = "`reset()` method sets CTRLB to value 0x2000"]
+impl crate::Resettable for CTRLB_SPEC {
+ #[inline(always)]
+ fn reset_value() -> Self::Ux {
+ 0x2000
+ }
+}