feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support: - Splash screen on boot (1.5s) with project name, version, board - Dashboard showing radio state, config, counters, RSSI/SNR - RSSI history sparkline (64-sample ring buffer, 2px-wide bars) - DisplayOn/DisplayOff host commands routed via dedicated channel - Pure render functions against generic DrawTarget (no hardware coupling) - Display on/off control bypasses radio task entirely Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
17624 files changed
+4564928
-38
No files matched your search
+59
@@ -0,0 +1,59 @@
|
||||
#[doc = r"Register block"]
|
||||
#[repr(C)]
|
||||
pub struct INFO {
|
||||
_reserved0: [u8; 0x04],
|
||||
#[doc = "0x04..0x0c - Description collection: Device identifier"]
|
||||
pub deviceid: [DEVICEID; 2],
|
||||
#[doc = "0x0c - Part code"]
|
||||
pub part: PART,
|
||||
#[doc = "0x10 - Part Variant, Hardware version and Production configuration"]
|
||||
pub variant: VARIANT,
|
||||
#[doc = "0x14 - Package option"]
|
||||
pub package: PACKAGE,
|
||||
#[doc = "0x18 - RAM variant"]
|
||||
pub ram: RAM,
|
||||
#[doc = "0x1c - Flash variant"]
|
||||
pub flash: FLASH,
|
||||
#[doc = "0x20 - Code memory page size"]
|
||||
pub codepagesize: CODEPAGESIZE,
|
||||
#[doc = "0x24 - Code memory size"]
|
||||
pub codesize: CODESIZE,
|
||||
#[doc = "0x28 - Device type"]
|
||||
pub devicetype: DEVICETYPE,
|
||||
}
|
||||
#[doc = "DEVICEID (r) register accessor: an alias for `Reg<DEVICEID_SPEC>`"]
|
||||
pub type DEVICEID = crate::Reg<deviceid::DEVICEID_SPEC>;
|
||||
#[doc = "Description collection: Device identifier"]
|
||||
pub mod deviceid;
|
||||
#[doc = "PART (r) register accessor: an alias for `Reg<PART_SPEC>`"]
|
||||
pub type PART = crate::Reg<part::PART_SPEC>;
|
||||
#[doc = "Part code"]
|
||||
pub mod part;
|
||||
#[doc = "VARIANT (r) register accessor: an alias for `Reg<VARIANT_SPEC>`"]
|
||||
pub type VARIANT = crate::Reg<variant::VARIANT_SPEC>;
|
||||
#[doc = "Part Variant, Hardware version and Production configuration"]
|
||||
pub mod variant;
|
||||
#[doc = "PACKAGE (r) register accessor: an alias for `Reg<PACKAGE_SPEC>`"]
|
||||
pub type PACKAGE = crate::Reg<package::PACKAGE_SPEC>;
|
||||
#[doc = "Package option"]
|
||||
pub mod package;
|
||||
#[doc = "RAM (r) register accessor: an alias for `Reg<RAM_SPEC>`"]
|
||||
pub type RAM = crate::Reg<ram::RAM_SPEC>;
|
||||
#[doc = "RAM variant"]
|
||||
pub mod ram;
|
||||
#[doc = "FLASH (r) register accessor: an alias for `Reg<FLASH_SPEC>`"]
|
||||
pub type FLASH = crate::Reg<flash::FLASH_SPEC>;
|
||||
#[doc = "Flash variant"]
|
||||
pub mod flash;
|
||||
#[doc = "CODEPAGESIZE (r) register accessor: an alias for `Reg<CODEPAGESIZE_SPEC>`"]
|
||||
pub type CODEPAGESIZE = crate::Reg<codepagesize::CODEPAGESIZE_SPEC>;
|
||||
#[doc = "Code memory page size"]
|
||||
pub mod codepagesize;
|
||||
#[doc = "CODESIZE (r) register accessor: an alias for `Reg<CODESIZE_SPEC>`"]
|
||||
pub type CODESIZE = crate::Reg<codesize::CODESIZE_SPEC>;
|
||||
#[doc = "Code memory size"]
|
||||
pub mod codesize;
|
||||
#[doc = "DEVICETYPE (r) register accessor: an alias for `Reg<DEVICETYPE_SPEC>`"]
|
||||
pub type DEVICETYPE = crate::Reg<devicetype::DEVICETYPE_SPEC>;
|
||||
#[doc = "Device type"]
|
||||
pub mod devicetype;
|
||||
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `CODEPAGESIZE` reader"]
|
||||
pub struct R(crate::R<CODEPAGESIZE_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<CODEPAGESIZE_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<CODEPAGESIZE_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<CODEPAGESIZE_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `CODEPAGESIZE` reader - Code memory page size"]
|
||||
pub type CODEPAGESIZE_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Code memory page size"]
|
||||
#[inline(always)]
|
||||
pub fn codepagesize(&self) -> CODEPAGESIZE_R {
|
||||
CODEPAGESIZE_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Code memory page size\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [codepagesize](index.html) module"]
|
||||
pub struct CODEPAGESIZE_SPEC;
|
||||
impl crate::RegisterSpec for CODEPAGESIZE_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [codepagesize::R](R) reader structure"]
|
||||
impl crate::Readable for CODEPAGESIZE_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets CODEPAGESIZE to value 0x1000"]
|
||||
impl crate::Resettable for CODEPAGESIZE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x1000
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `CODESIZE` reader"]
|
||||
pub struct R(crate::R<CODESIZE_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<CODESIZE_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<CODESIZE_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<CODESIZE_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `CODESIZE` reader - Code memory size in number of pages"]
|
||||
pub type CODESIZE_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Code memory size in number of pages"]
|
||||
#[inline(always)]
|
||||
pub fn codesize(&self) -> CODESIZE_R {
|
||||
CODESIZE_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Code memory size\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [codesize](index.html) module"]
|
||||
pub struct CODESIZE_SPEC;
|
||||
impl crate::RegisterSpec for CODESIZE_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [codesize::R](R) reader structure"]
|
||||
impl crate::Readable for CODESIZE_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets CODESIZE to value 0x0100"]
|
||||
impl crate::Resettable for CODESIZE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x0100
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
#[doc = "Register `DEVICEID[%s]` reader"]
|
||||
pub struct R(crate::R<DEVICEID_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<DEVICEID_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<DEVICEID_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<DEVICEID_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `DEVICEID` reader - 64 bit unique device identifier"]
|
||||
pub type DEVICEID_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - 64 bit unique device identifier"]
|
||||
#[inline(always)]
|
||||
pub fn deviceid(&self) -> DEVICEID_R {
|
||||
DEVICEID_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Description collection: Device identifier\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [deviceid](index.html) module"]
|
||||
pub struct DEVICEID_SPEC;
|
||||
impl crate::RegisterSpec for DEVICEID_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [deviceid::R](R) reader structure"]
|
||||
impl crate::Readable for DEVICEID_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets DEVICEID[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for DEVICEID_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
#[doc = "Register `DEVICETYPE` reader"]
|
||||
pub struct R(crate::R<DEVICETYPE_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<DEVICETYPE_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<DEVICETYPE_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<DEVICETYPE_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `DEVICETYPE` reader - Device type"]
|
||||
pub type DEVICETYPE_R = crate::FieldReader<u32, DEVICETYPE_A>;
|
||||
#[doc = "Device type\n\nValue on reset: 4294967295"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum DEVICETYPE_A {
|
||||
#[doc = "0: Device is an physical DIE"]
|
||||
DIE = 0,
|
||||
#[doc = "4294967295: Device is an FPGA"]
|
||||
FPGA = 4294967295,
|
||||
}
|
||||
impl From<DEVICETYPE_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: DEVICETYPE_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl DEVICETYPE_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<DEVICETYPE_A> {
|
||||
match self.bits {
|
||||
0 => Some(DEVICETYPE_A::DIE),
|
||||
4294967295 => Some(DEVICETYPE_A::FPGA),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `DIE`"]
|
||||
#[inline(always)]
|
||||
pub fn is_die(&self) -> bool {
|
||||
*self == DEVICETYPE_A::DIE
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `FPGA`"]
|
||||
#[inline(always)]
|
||||
pub fn is_fpga(&self) -> bool {
|
||||
*self == DEVICETYPE_A::FPGA
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Device type"]
|
||||
#[inline(always)]
|
||||
pub fn devicetype(&self) -> DEVICETYPE_R {
|
||||
DEVICETYPE_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Device type\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [devicetype](index.html) module"]
|
||||
pub struct DEVICETYPE_SPEC;
|
||||
impl crate::RegisterSpec for DEVICETYPE_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [devicetype::R](R) reader structure"]
|
||||
impl crate::Readable for DEVICETYPE_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets DEVICETYPE to value 0xffff_ffff"]
|
||||
impl crate::Resettable for DEVICETYPE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
#[doc = "Register `FLASH` reader"]
|
||||
pub struct R(crate::R<FLASH_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<FLASH_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<FLASH_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<FLASH_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `FLASH` reader - Flash variant"]
|
||||
pub type FLASH_R = crate::FieldReader<u32, FLASH_A>;
|
||||
#[doc = "Flash variant\n\nValue on reset: 1024"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum FLASH_A {
|
||||
#[doc = "1024: 1 MByte FLASH"]
|
||||
K1024 = 1024,
|
||||
}
|
||||
impl From<FLASH_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: FLASH_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl FLASH_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<FLASH_A> {
|
||||
match self.bits {
|
||||
1024 => Some(FLASH_A::K1024),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `K1024`"]
|
||||
#[inline(always)]
|
||||
pub fn is_k1024(&self) -> bool {
|
||||
*self == FLASH_A::K1024
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Flash variant"]
|
||||
#[inline(always)]
|
||||
pub fn flash(&self) -> FLASH_R {
|
||||
FLASH_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Flash variant\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [flash](index.html) module"]
|
||||
pub struct FLASH_SPEC;
|
||||
impl crate::RegisterSpec for FLASH_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [flash::R](R) reader structure"]
|
||||
impl crate::Readable for FLASH_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets FLASH to value 0x0400"]
|
||||
impl crate::Resettable for FLASH_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x0400
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
#[doc = "Register `PACKAGE` reader"]
|
||||
pub struct R(crate::R<PACKAGE_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<PACKAGE_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<PACKAGE_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<PACKAGE_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `PACKAGE` reader - Package option"]
|
||||
pub type PACKAGE_R = crate::FieldReader<u32, PACKAGE_A>;
|
||||
#[doc = "Package option\n\nValue on reset: 8192"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum PACKAGE_A {
|
||||
#[doc = "8192: CCxx - 236 ball wlCSP"]
|
||||
CC = 8192,
|
||||
}
|
||||
impl From<PACKAGE_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: PACKAGE_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl PACKAGE_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<PACKAGE_A> {
|
||||
match self.bits {
|
||||
8192 => Some(PACKAGE_A::CC),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `CC`"]
|
||||
#[inline(always)]
|
||||
pub fn is_cc(&self) -> bool {
|
||||
*self == PACKAGE_A::CC
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Package option"]
|
||||
#[inline(always)]
|
||||
pub fn package(&self) -> PACKAGE_R {
|
||||
PACKAGE_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Package option\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [package](index.html) module"]
|
||||
pub struct PACKAGE_SPEC;
|
||||
impl crate::RegisterSpec for PACKAGE_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [package::R](R) reader structure"]
|
||||
impl crate::Readable for PACKAGE_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets PACKAGE to value 0x2000"]
|
||||
impl crate::Resettable for PACKAGE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x2000
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
#[doc = "Register `PART` reader"]
|
||||
pub struct R(crate::R<PART_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<PART_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<PART_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<PART_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `PART` reader - Part code"]
|
||||
pub type PART_R = crate::FieldReader<u32, PART_A>;
|
||||
#[doc = "Part code\n\nValue on reset: 37216"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum PART_A {
|
||||
#[doc = "37216: nRF9160"]
|
||||
N9160 = 37216,
|
||||
}
|
||||
impl From<PART_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: PART_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl PART_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<PART_A> {
|
||||
match self.bits {
|
||||
37216 => Some(PART_A::N9160),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `N9160`"]
|
||||
#[inline(always)]
|
||||
pub fn is_n9160(&self) -> bool {
|
||||
*self == PART_A::N9160
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Part code"]
|
||||
#[inline(always)]
|
||||
pub fn part(&self) -> PART_R {
|
||||
PART_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Part code\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [part](index.html) module"]
|
||||
pub struct PART_SPEC;
|
||||
impl crate::RegisterSpec for PART_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [part::R](R) reader structure"]
|
||||
impl crate::Readable for PART_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets PART to value 0x9160"]
|
||||
impl crate::Resettable for PART_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x9160
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
#[doc = "Register `RAM` reader"]
|
||||
pub struct R(crate::R<RAM_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<RAM_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<RAM_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<RAM_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `RAM` reader - RAM variant"]
|
||||
pub type RAM_R = crate::FieldReader<u32, RAM_A>;
|
||||
#[doc = "RAM variant\n\nValue on reset: 256"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum RAM_A {
|
||||
#[doc = "256: 256 kByte RAM"]
|
||||
K256 = 256,
|
||||
#[doc = "4294967295: Unspecified"]
|
||||
UNSPECIFIED = 4294967295,
|
||||
}
|
||||
impl From<RAM_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: RAM_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl RAM_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<RAM_A> {
|
||||
match self.bits {
|
||||
256 => Some(RAM_A::K256),
|
||||
4294967295 => Some(RAM_A::UNSPECIFIED),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `K256`"]
|
||||
#[inline(always)]
|
||||
pub fn is_k256(&self) -> bool {
|
||||
*self == RAM_A::K256
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `UNSPECIFIED`"]
|
||||
#[inline(always)]
|
||||
pub fn is_unspecified(&self) -> bool {
|
||||
*self == RAM_A::UNSPECIFIED
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - RAM variant"]
|
||||
#[inline(always)]
|
||||
pub fn ram(&self) -> RAM_R {
|
||||
RAM_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "RAM variant\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ram](index.html) module"]
|
||||
pub struct RAM_SPEC;
|
||||
impl crate::RegisterSpec for RAM_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [ram::R](R) reader structure"]
|
||||
impl crate::Readable for RAM_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets RAM to value 0x0100"]
|
||||
impl crate::Resettable for RAM_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x0100
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
#[doc = "Register `VARIANT` reader"]
|
||||
pub struct R(crate::R<VARIANT_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<VARIANT_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<VARIANT_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<VARIANT_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `VARIANT` reader - Part Variant, Hardware version and Production configuration, encoded as ASCII"]
|
||||
pub type VARIANT_R = crate::FieldReader<u32, VARIANT_A>;
|
||||
#[doc = "Part Variant, Hardware version and Production configuration, encoded as ASCII\n\nValue on reset: 268435455"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u32)]
|
||||
pub enum VARIANT_A {
|
||||
#[doc = "1094795585: AAAA"]
|
||||
AAAA = 1094795585,
|
||||
#[doc = "1094795568: AAA0"]
|
||||
AAA0 = 1094795568,
|
||||
}
|
||||
impl From<VARIANT_A> for u32 {
|
||||
#[inline(always)]
|
||||
fn from(variant: VARIANT_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl VARIANT_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<VARIANT_A> {
|
||||
match self.bits {
|
||||
1094795585 => Some(VARIANT_A::AAAA),
|
||||
1094795568 => Some(VARIANT_A::AAA0),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `AAAA`"]
|
||||
#[inline(always)]
|
||||
pub fn is_aaaa(&self) -> bool {
|
||||
*self == VARIANT_A::AAAA
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `AAA0`"]
|
||||
#[inline(always)]
|
||||
pub fn is_aaa0(&self) -> bool {
|
||||
*self == VARIANT_A::AAA0
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Part Variant, Hardware version and Production configuration, encoded as ASCII"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> VARIANT_R {
|
||||
VARIANT_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Part Variant, Hardware version and Production configuration\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [variant](index.html) module"]
|
||||
pub struct VARIANT_SPEC;
|
||||
impl crate::RegisterSpec for VARIANT_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [variant::R](R) reader structure"]
|
||||
impl crate::Readable for VARIANT_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets VARIANT to value 0x0fff_ffff"]
|
||||
impl crate::Resettable for VARIANT_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x0fff_ffff
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#[doc = r"Register block"]
|
||||
#[repr(C)]
|
||||
pub struct TRIMCNF {
|
||||
#[doc = "0x00 - Description cluster: Address"]
|
||||
pub addr: ADDR,
|
||||
#[doc = "0x04 - Description cluster: Data"]
|
||||
pub data: DATA,
|
||||
}
|
||||
#[doc = "ADDR (r) register accessor: an alias for `Reg<ADDR_SPEC>`"]
|
||||
pub type ADDR = crate::Reg<addr::ADDR_SPEC>;
|
||||
#[doc = "Description cluster: Address"]
|
||||
pub mod addr;
|
||||
#[doc = "DATA (r) register accessor: an alias for `Reg<DATA_SPEC>`"]
|
||||
pub type DATA = crate::Reg<data::DATA_SPEC>;
|
||||
#[doc = "Description cluster: Data"]
|
||||
pub mod data;
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `ADDR` reader"]
|
||||
pub struct R(crate::R<ADDR_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ADDR_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ADDR_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ADDR_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `Address` reader - Address"]
|
||||
pub type ADDRESS_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Address"]
|
||||
#[inline(always)]
|
||||
pub fn address(&self) -> ADDRESS_R {
|
||||
ADDRESS_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Description cluster: Address\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [addr](index.html) module"]
|
||||
pub struct ADDR_SPEC;
|
||||
impl crate::RegisterSpec for ADDR_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [addr::R](R) reader structure"]
|
||||
impl crate::Readable for ADDR_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ADDR to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ADDR_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `DATA` reader"]
|
||||
pub struct R(crate::R<DATA_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<DATA_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<DATA_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<DATA_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `Data` reader - Data"]
|
||||
pub type DATA_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Data"]
|
||||
#[inline(always)]
|
||||
pub fn data(&self) -> DATA_R {
|
||||
DATA_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Description cluster: Data\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [data](index.html) module"]
|
||||
pub struct DATA_SPEC;
|
||||
impl crate::RegisterSpec for DATA_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [data::R](R) reader structure"]
|
||||
impl crate::Readable for DATA_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets DATA to value 0xffff_ffff"]
|
||||
impl crate::Resettable for DATA_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
#[doc = r"Register block"]
|
||||
#[repr(C)]
|
||||
pub struct TRNG90B {
|
||||
#[doc = "0x00 - Amount of bytes for the required entropy bits"]
|
||||
pub bytes: BYTES,
|
||||
#[doc = "0x04 - Repetition counter cutoff"]
|
||||
pub rccutoff: RCCUTOFF,
|
||||
#[doc = "0x08 - Adaptive proportion cutoff"]
|
||||
pub apcutoff: APCUTOFF,
|
||||
#[doc = "0x0c - Amount of bytes for the startup tests"]
|
||||
pub startup: STARTUP,
|
||||
#[doc = "0x10 - Sample count for ring oscillator 1"]
|
||||
pub rosc1: ROSC1,
|
||||
#[doc = "0x14 - Sample count for ring oscillator 2"]
|
||||
pub rosc2: ROSC2,
|
||||
#[doc = "0x18 - Sample count for ring oscillator 3"]
|
||||
pub rosc3: ROSC3,
|
||||
#[doc = "0x1c - Sample count for ring oscillator 4"]
|
||||
pub rosc4: ROSC4,
|
||||
}
|
||||
#[doc = "BYTES (r) register accessor: an alias for `Reg<BYTES_SPEC>`"]
|
||||
pub type BYTES = crate::Reg<bytes::BYTES_SPEC>;
|
||||
#[doc = "Amount of bytes for the required entropy bits"]
|
||||
pub mod bytes;
|
||||
#[doc = "RCCUTOFF (r) register accessor: an alias for `Reg<RCCUTOFF_SPEC>`"]
|
||||
pub type RCCUTOFF = crate::Reg<rccutoff::RCCUTOFF_SPEC>;
|
||||
#[doc = "Repetition counter cutoff"]
|
||||
pub mod rccutoff;
|
||||
#[doc = "APCUTOFF (r) register accessor: an alias for `Reg<APCUTOFF_SPEC>`"]
|
||||
pub type APCUTOFF = crate::Reg<apcutoff::APCUTOFF_SPEC>;
|
||||
#[doc = "Adaptive proportion cutoff"]
|
||||
pub mod apcutoff;
|
||||
#[doc = "STARTUP (r) register accessor: an alias for `Reg<STARTUP_SPEC>`"]
|
||||
pub type STARTUP = crate::Reg<startup::STARTUP_SPEC>;
|
||||
#[doc = "Amount of bytes for the startup tests"]
|
||||
pub mod startup;
|
||||
#[doc = "ROSC1 (r) register accessor: an alias for `Reg<ROSC1_SPEC>`"]
|
||||
pub type ROSC1 = crate::Reg<rosc1::ROSC1_SPEC>;
|
||||
#[doc = "Sample count for ring oscillator 1"]
|
||||
pub mod rosc1;
|
||||
#[doc = "ROSC2 (r) register accessor: an alias for `Reg<ROSC2_SPEC>`"]
|
||||
pub type ROSC2 = crate::Reg<rosc2::ROSC2_SPEC>;
|
||||
#[doc = "Sample count for ring oscillator 2"]
|
||||
pub mod rosc2;
|
||||
#[doc = "ROSC3 (r) register accessor: an alias for `Reg<ROSC3_SPEC>`"]
|
||||
pub type ROSC3 = crate::Reg<rosc3::ROSC3_SPEC>;
|
||||
#[doc = "Sample count for ring oscillator 3"]
|
||||
pub mod rosc3;
|
||||
#[doc = "ROSC4 (r) register accessor: an alias for `Reg<ROSC4_SPEC>`"]
|
||||
pub type ROSC4 = crate::Reg<rosc4::ROSC4_SPEC>;
|
||||
#[doc = "Sample count for ring oscillator 4"]
|
||||
pub mod rosc4;
|
||||
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `APCUTOFF` reader"]
|
||||
pub struct R(crate::R<APCUTOFF_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<APCUTOFF_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<APCUTOFF_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<APCUTOFF_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `APCUTOFF` reader - Adaptive proportion cutoff"]
|
||||
pub type APCUTOFF_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Adaptive proportion cutoff"]
|
||||
#[inline(always)]
|
||||
pub fn apcutoff(&self) -> APCUTOFF_R {
|
||||
APCUTOFF_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Adaptive proportion cutoff\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [apcutoff](index.html) module"]
|
||||
pub struct APCUTOFF_SPEC;
|
||||
impl crate::RegisterSpec for APCUTOFF_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [apcutoff::R](R) reader structure"]
|
||||
impl crate::Readable for APCUTOFF_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets APCUTOFF to value 0xffff_ffff"]
|
||||
impl crate::Resettable for APCUTOFF_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `BYTES` reader"]
|
||||
pub struct R(crate::R<BYTES_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<BYTES_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<BYTES_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<BYTES_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `BYTES` reader - Amount of bytes for the required entropy bits"]
|
||||
pub type BYTES_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Amount of bytes for the required entropy bits"]
|
||||
#[inline(always)]
|
||||
pub fn bytes(&self) -> BYTES_R {
|
||||
BYTES_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Amount of bytes for the required entropy bits\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [bytes](index.html) module"]
|
||||
pub struct BYTES_SPEC;
|
||||
impl crate::RegisterSpec for BYTES_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [bytes::R](R) reader structure"]
|
||||
impl crate::Readable for BYTES_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets BYTES to value 0xffff_ffff"]
|
||||
impl crate::Resettable for BYTES_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `RCCUTOFF` reader"]
|
||||
pub struct R(crate::R<RCCUTOFF_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<RCCUTOFF_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<RCCUTOFF_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<RCCUTOFF_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `RCCUTOFF` reader - Repetition counter cutoff"]
|
||||
pub type RCCUTOFF_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Repetition counter cutoff"]
|
||||
#[inline(always)]
|
||||
pub fn rccutoff(&self) -> RCCUTOFF_R {
|
||||
RCCUTOFF_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Repetition counter cutoff\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rccutoff](index.html) module"]
|
||||
pub struct RCCUTOFF_SPEC;
|
||||
impl crate::RegisterSpec for RCCUTOFF_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [rccutoff::R](R) reader structure"]
|
||||
impl crate::Readable for RCCUTOFF_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets RCCUTOFF to value 0xffff_ffff"]
|
||||
impl crate::Resettable for RCCUTOFF_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `ROSC1` reader"]
|
||||
pub struct R(crate::R<ROSC1_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ROSC1_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ROSC1_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ROSC1_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `ROSC1` reader - Sample count for ring oscillator 1"]
|
||||
pub type ROSC1_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Sample count for ring oscillator 1"]
|
||||
#[inline(always)]
|
||||
pub fn rosc1(&self) -> ROSC1_R {
|
||||
ROSC1_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Sample count for ring oscillator 1\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rosc1](index.html) module"]
|
||||
pub struct ROSC1_SPEC;
|
||||
impl crate::RegisterSpec for ROSC1_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [rosc1::R](R) reader structure"]
|
||||
impl crate::Readable for ROSC1_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ROSC1 to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ROSC1_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `ROSC2` reader"]
|
||||
pub struct R(crate::R<ROSC2_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ROSC2_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ROSC2_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ROSC2_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `ROSC2` reader - Sample count for ring oscillator 2"]
|
||||
pub type ROSC2_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Sample count for ring oscillator 2"]
|
||||
#[inline(always)]
|
||||
pub fn rosc2(&self) -> ROSC2_R {
|
||||
ROSC2_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Sample count for ring oscillator 2\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rosc2](index.html) module"]
|
||||
pub struct ROSC2_SPEC;
|
||||
impl crate::RegisterSpec for ROSC2_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [rosc2::R](R) reader structure"]
|
||||
impl crate::Readable for ROSC2_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ROSC2 to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ROSC2_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `ROSC3` reader"]
|
||||
pub struct R(crate::R<ROSC3_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ROSC3_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ROSC3_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ROSC3_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `ROSC3` reader - Sample count for ring oscillator 3"]
|
||||
pub type ROSC3_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Sample count for ring oscillator 3"]
|
||||
#[inline(always)]
|
||||
pub fn rosc3(&self) -> ROSC3_R {
|
||||
ROSC3_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Sample count for ring oscillator 3\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rosc3](index.html) module"]
|
||||
pub struct ROSC3_SPEC;
|
||||
impl crate::RegisterSpec for ROSC3_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [rosc3::R](R) reader structure"]
|
||||
impl crate::Readable for ROSC3_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ROSC3 to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ROSC3_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `ROSC4` reader"]
|
||||
pub struct R(crate::R<ROSC4_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ROSC4_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ROSC4_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ROSC4_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `ROSC4` reader - Sample count for ring oscillator 4"]
|
||||
pub type ROSC4_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Sample count for ring oscillator 4"]
|
||||
#[inline(always)]
|
||||
pub fn rosc4(&self) -> ROSC4_R {
|
||||
ROSC4_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Sample count for ring oscillator 4\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rosc4](index.html) module"]
|
||||
pub struct ROSC4_SPEC;
|
||||
impl crate::RegisterSpec for ROSC4_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [rosc4::R](R) reader structure"]
|
||||
impl crate::Readable for ROSC4_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ROSC4 to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ROSC4_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
#[doc = "Register `STARTUP` reader"]
|
||||
pub struct R(crate::R<STARTUP_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<STARTUP_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<STARTUP_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<STARTUP_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `STARTUP` reader - Amount of bytes for the startup tests"]
|
||||
pub type STARTUP_R = crate::FieldReader<u32, u32>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:31 - Amount of bytes for the startup tests"]
|
||||
#[inline(always)]
|
||||
pub fn startup(&self) -> STARTUP_R {
|
||||
STARTUP_R::new(self.bits)
|
||||
}
|
||||
}
|
||||
#[doc = "Amount of bytes for the startup tests\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [startup](index.html) module"]
|
||||
pub struct STARTUP_SPEC;
|
||||
impl crate::RegisterSpec for STARTUP_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [startup::R](R) reader structure"]
|
||||
impl crate::Readable for STARTUP_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets STARTUP to value 0x0210"]
|
||||
impl crate::Resettable for STARTUP_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0x0210
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user