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
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `BLE_1MBIT[%s]` reader"]
|
||||
pub struct R(crate::R<BLE_1MBIT_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<BLE_1MBIT_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<BLE_1MBIT_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<BLE_1MBIT_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Override values for the OVERRIDEn registers in RADIO for BLE_1Mbit mode.\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 [ble_1mbit](index.html) module"]
|
||||
pub struct BLE_1MBIT_SPEC;
|
||||
impl crate::RegisterSpec for BLE_1MBIT_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [ble_1mbit::R](R) reader structure"]
|
||||
impl crate::Readable for BLE_1MBIT_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets BLE_1MBIT[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for BLE_1MBIT_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
#[doc = "Register `CLENR0` reader"]
|
||||
pub struct R(crate::R<CLENR0_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<CLENR0_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<CLENR0_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<CLENR0_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Length of code region 0 in bytes.\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 [clenr0](index.html) module"]
|
||||
pub struct CLENR0_SPEC;
|
||||
impl crate::RegisterSpec for CLENR0_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [clenr0::R](R) reader structure"]
|
||||
impl crate::Readable for CLENR0_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets CLENR0 to value 0xffff_ffff"]
|
||||
impl crate::Resettable for CLENR0_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#[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 = "Code memory page size in bytes.\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 0xffff_ffff"]
|
||||
impl crate::Resettable for CODEPAGESIZE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#[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 = "Code memory size in pages.\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 0xffff_ffff"]
|
||||
impl crate::Resettable for CODESIZE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
#[doc = "Register `CONFIGID` reader"]
|
||||
pub struct R(crate::R<CONFIGID_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<CONFIGID_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<CONFIGID_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<CONFIGID_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `HWID` reader - Hardware Identification Number."]
|
||||
pub type HWID_R = crate::FieldReader<u16, u16>;
|
||||
#[doc = "Field `FWID` reader - Firmware Identification Number pre-loaded into the flash."]
|
||||
pub type FWID_R = crate::FieldReader<u16, u16>;
|
||||
impl R {
|
||||
#[doc = "Bits 0:15 - Hardware Identification Number."]
|
||||
#[inline(always)]
|
||||
pub fn hwid(&self) -> HWID_R {
|
||||
HWID_R::new((self.bits & 0xffff) as u16)
|
||||
}
|
||||
#[doc = "Bits 16:31 - Firmware Identification Number pre-loaded into the flash."]
|
||||
#[inline(always)]
|
||||
pub fn fwid(&self) -> FWID_R {
|
||||
FWID_R::new(((self.bits >> 16) & 0xffff) as u16)
|
||||
}
|
||||
}
|
||||
#[doc = "Configuration 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 [configid](index.html) module"]
|
||||
pub struct CONFIGID_SPEC;
|
||||
impl crate::RegisterSpec for CONFIGID_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [configid::R](R) reader structure"]
|
||||
impl crate::Readable for CONFIGID_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets CONFIGID to value 0xffff_ffff"]
|
||||
impl crate::Resettable for CONFIGID_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `DEVICEADDR[%s]` reader"]
|
||||
pub struct R(crate::R<DEVICEADDR_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<DEVICEADDR_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<DEVICEADDR_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<DEVICEADDR_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Device 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 [deviceaddr](index.html) module"]
|
||||
pub struct DEVICEADDR_SPEC;
|
||||
impl crate::RegisterSpec for DEVICEADDR_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [deviceaddr::R](R) reader structure"]
|
||||
impl crate::Readable for DEVICEADDR_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets DEVICEADDR[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for DEVICEADDR_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
#[doc = "Register `DEVICEADDRTYPE` reader"]
|
||||
pub struct R(crate::R<DEVICEADDRTYPE_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<DEVICEADDRTYPE_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<DEVICEADDRTYPE_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<DEVICEADDRTYPE_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `DEVICEADDRTYPE` reader - Device address type."]
|
||||
pub type DEVICEADDRTYPE_R = crate::BitReader<DEVICEADDRTYPE_A>;
|
||||
#[doc = "Device address type.\n\nValue on reset: 1"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub enum DEVICEADDRTYPE_A {
|
||||
#[doc = "0: Public address."]
|
||||
PUBLIC = 0,
|
||||
#[doc = "1: Random address."]
|
||||
RANDOM = 1,
|
||||
}
|
||||
impl From<DEVICEADDRTYPE_A> for bool {
|
||||
#[inline(always)]
|
||||
fn from(variant: DEVICEADDRTYPE_A) -> Self {
|
||||
variant as u8 != 0
|
||||
}
|
||||
}
|
||||
impl DEVICEADDRTYPE_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> DEVICEADDRTYPE_A {
|
||||
match self.bits {
|
||||
false => DEVICEADDRTYPE_A::PUBLIC,
|
||||
true => DEVICEADDRTYPE_A::RANDOM,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `PUBLIC`"]
|
||||
#[inline(always)]
|
||||
pub fn is_public(&self) -> bool {
|
||||
*self == DEVICEADDRTYPE_A::PUBLIC
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `RANDOM`"]
|
||||
#[inline(always)]
|
||||
pub fn is_random(&self) -> bool {
|
||||
*self == DEVICEADDRTYPE_A::RANDOM
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bit 0 - Device address type."]
|
||||
#[inline(always)]
|
||||
pub fn deviceaddrtype(&self) -> DEVICEADDRTYPE_R {
|
||||
DEVICEADDRTYPE_R::new((self.bits & 1) != 0)
|
||||
}
|
||||
}
|
||||
#[doc = "Device address 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 [deviceaddrtype](index.html) module"]
|
||||
pub struct DEVICEADDRTYPE_SPEC;
|
||||
impl crate::RegisterSpec for DEVICEADDRTYPE_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [deviceaddrtype::R](R) reader structure"]
|
||||
impl crate::Readable for DEVICEADDRTYPE_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets DEVICEADDRTYPE to value 0xffff_ffff"]
|
||||
impl crate::Resettable for DEVICEADDRTYPE_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
#[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 = "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
|
||||
}
|
||||
}
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `ER[%s]` reader"]
|
||||
pub struct R(crate::R<ER_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<ER_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<ER_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<ER_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Encryption root.\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 [er](index.html) module"]
|
||||
pub struct ER_SPEC;
|
||||
impl crate::RegisterSpec for ER_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [er::R](R) reader structure"]
|
||||
impl crate::Readable for ER_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets ER[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for ER_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `IR[%s]` reader"]
|
||||
pub struct R(crate::R<IR_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<IR_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<IR_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<IR_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Identity root.\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 [ir](index.html) module"]
|
||||
pub struct IR_SPEC;
|
||||
impl crate::RegisterSpec for IR_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [ir::R](R) reader structure"]
|
||||
impl crate::Readable for IR_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets IR[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for IR_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `NRF_1MBIT[%s]` reader"]
|
||||
pub struct R(crate::R<NRF_1MBIT_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<NRF_1MBIT_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<NRF_1MBIT_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<NRF_1MBIT_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Override values for the OVERRIDEn registers in RADIO for NRF_1Mbit mode.\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 [nrf_1mbit](index.html) module"]
|
||||
pub struct NRF_1MBIT_SPEC;
|
||||
impl crate::RegisterSpec for NRF_1MBIT_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [nrf_1mbit::R](R) reader structure"]
|
||||
impl crate::Readable for NRF_1MBIT_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets NRF_1MBIT[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for NRF_1MBIT_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#[doc = "Register `NUMRAMBLOCK` reader"]
|
||||
pub struct R(crate::R<NUMRAMBLOCK_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<NUMRAMBLOCK_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<NUMRAMBLOCK_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<NUMRAMBLOCK_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Number of individualy controllable RAM blocks.\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 [numramblock](index.html) module"]
|
||||
pub struct NUMRAMBLOCK_SPEC;
|
||||
impl crate::RegisterSpec for NUMRAMBLOCK_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [numramblock::R](R) reader structure"]
|
||||
impl crate::Readable for NUMRAMBLOCK_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets NUMRAMBLOCK to value 0xffff_ffff"]
|
||||
impl crate::Resettable for NUMRAMBLOCK_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
#[doc = "Register `OVERRIDEEN` reader"]
|
||||
pub struct R(crate::R<OVERRIDEEN_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<OVERRIDEEN_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<OVERRIDEEN_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<OVERRIDEEN_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `NRF_1MBIT` reader - Override default values for NRF_1Mbit mode."]
|
||||
pub type NRF_1MBIT_R = crate::BitReader<NRF_1MBIT_A>;
|
||||
#[doc = "Override default values for NRF_1Mbit mode.\n\nValue on reset: 1"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub enum NRF_1MBIT_A {
|
||||
#[doc = "0: Override the default values for NRF_1Mbit mode."]
|
||||
OVERRIDE = 0,
|
||||
#[doc = "1: Do not override the default values for NRF_1Mbit mode."]
|
||||
NOT_OVERRIDE = 1,
|
||||
}
|
||||
impl From<NRF_1MBIT_A> for bool {
|
||||
#[inline(always)]
|
||||
fn from(variant: NRF_1MBIT_A) -> Self {
|
||||
variant as u8 != 0
|
||||
}
|
||||
}
|
||||
impl NRF_1MBIT_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> NRF_1MBIT_A {
|
||||
match self.bits {
|
||||
false => NRF_1MBIT_A::OVERRIDE,
|
||||
true => NRF_1MBIT_A::NOT_OVERRIDE,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `OVERRIDE`"]
|
||||
#[inline(always)]
|
||||
pub fn is_override(&self) -> bool {
|
||||
*self == NRF_1MBIT_A::OVERRIDE
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `NOT_OVERRIDE`"]
|
||||
#[inline(always)]
|
||||
pub fn is_not_override(&self) -> bool {
|
||||
*self == NRF_1MBIT_A::NOT_OVERRIDE
|
||||
}
|
||||
}
|
||||
#[doc = "Field `BLE_1MBIT` reader - Override default values for BLE_1Mbit mode."]
|
||||
pub type BLE_1MBIT_R = crate::BitReader<BLE_1MBIT_A>;
|
||||
#[doc = "Override default values for BLE_1Mbit mode.\n\nValue on reset: 1"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub enum BLE_1MBIT_A {
|
||||
#[doc = "0: Override the default values for BLE_1Mbit mode."]
|
||||
OVERRIDE = 0,
|
||||
#[doc = "1: Do not override the default values for BLE_1Mbit mode."]
|
||||
NOT_OVERRIDE = 1,
|
||||
}
|
||||
impl From<BLE_1MBIT_A> for bool {
|
||||
#[inline(always)]
|
||||
fn from(variant: BLE_1MBIT_A) -> Self {
|
||||
variant as u8 != 0
|
||||
}
|
||||
}
|
||||
impl BLE_1MBIT_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> BLE_1MBIT_A {
|
||||
match self.bits {
|
||||
false => BLE_1MBIT_A::OVERRIDE,
|
||||
true => BLE_1MBIT_A::NOT_OVERRIDE,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `OVERRIDE`"]
|
||||
#[inline(always)]
|
||||
pub fn is_override(&self) -> bool {
|
||||
*self == BLE_1MBIT_A::OVERRIDE
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `NOT_OVERRIDE`"]
|
||||
#[inline(always)]
|
||||
pub fn is_not_override(&self) -> bool {
|
||||
*self == BLE_1MBIT_A::NOT_OVERRIDE
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bit 0 - Override default values for NRF_1Mbit mode."]
|
||||
#[inline(always)]
|
||||
pub fn nrf_1mbit(&self) -> NRF_1MBIT_R {
|
||||
NRF_1MBIT_R::new((self.bits & 1) != 0)
|
||||
}
|
||||
#[doc = "Bit 3 - Override default values for BLE_1Mbit mode."]
|
||||
#[inline(always)]
|
||||
pub fn ble_1mbit(&self) -> BLE_1MBIT_R {
|
||||
BLE_1MBIT_R::new(((self.bits >> 3) & 1) != 0)
|
||||
}
|
||||
}
|
||||
#[doc = "Radio calibration override enable.\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 [overrideen](index.html) module"]
|
||||
pub struct OVERRIDEEN_SPEC;
|
||||
impl crate::RegisterSpec for OVERRIDEEN_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [overrideen::R](R) reader structure"]
|
||||
impl crate::Readable for OVERRIDEEN_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets OVERRIDEEN to value 0xffff_ffff"]
|
||||
impl crate::Resettable for OVERRIDEEN_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
Vendored
+76
@@ -0,0 +1,76 @@
|
||||
#[doc = "Register `PPFC` reader"]
|
||||
pub struct R(crate::R<PPFC_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<PPFC_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<PPFC_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<PPFC_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Field `PPFC` reader - Pre-programmed factory code present."]
|
||||
pub type PPFC_R = crate::FieldReader<u8, PPFC_A>;
|
||||
#[doc = "Pre-programmed factory code present.\n\nValue on reset: 255"]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[repr(u8)]
|
||||
pub enum PPFC_A {
|
||||
#[doc = "255: Not present."]
|
||||
NOT_PRESENT = 255,
|
||||
#[doc = "0: Present."]
|
||||
PRESENT = 0,
|
||||
}
|
||||
impl From<PPFC_A> for u8 {
|
||||
#[inline(always)]
|
||||
fn from(variant: PPFC_A) -> Self {
|
||||
variant as _
|
||||
}
|
||||
}
|
||||
impl PPFC_R {
|
||||
#[doc = "Get enumerated values variant"]
|
||||
#[inline(always)]
|
||||
pub fn variant(&self) -> Option<PPFC_A> {
|
||||
match self.bits {
|
||||
255 => Some(PPFC_A::NOT_PRESENT),
|
||||
0 => Some(PPFC_A::PRESENT),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `NOT_PRESENT`"]
|
||||
#[inline(always)]
|
||||
pub fn is_not_present(&self) -> bool {
|
||||
*self == PPFC_A::NOT_PRESENT
|
||||
}
|
||||
#[doc = "Checks if the value of the field is `PRESENT`"]
|
||||
#[inline(always)]
|
||||
pub fn is_present(&self) -> bool {
|
||||
*self == PPFC_A::PRESENT
|
||||
}
|
||||
}
|
||||
impl R {
|
||||
#[doc = "Bits 0:7 - Pre-programmed factory code present."]
|
||||
#[inline(always)]
|
||||
pub fn ppfc(&self) -> PPFC_R {
|
||||
PPFC_R::new((self.bits & 0xff) as u8)
|
||||
}
|
||||
}
|
||||
#[doc = "Pre-programmed factory code present.\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 [ppfc](index.html) module"]
|
||||
pub struct PPFC_SPEC;
|
||||
impl crate::RegisterSpec for PPFC_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [ppfc::R](R) reader structure"]
|
||||
impl crate::Readable for PPFC_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets PPFC to value 0xffff_ffff"]
|
||||
impl crate::Resettable for PPFC_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
#[doc = "Register `SIZERAMBLOCK[%s]` reader"]
|
||||
pub struct R(crate::R<SIZERAMBLOCK_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<SIZERAMBLOCK_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<SIZERAMBLOCK_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<SIZERAMBLOCK_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Deprecated array of size of RAM block in bytes. This name is kept for backward compatinility purposes. Use SIZERAMBLOCKS instead.\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 [sizeramblock](index.html) module"]
|
||||
pub struct SIZERAMBLOCK_SPEC;
|
||||
impl crate::RegisterSpec for SIZERAMBLOCK_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [sizeramblock::R](R) reader structure"]
|
||||
impl crate::Readable for SIZERAMBLOCK_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets SIZERAMBLOCK[%s]
|
||||
to value 0xffff_ffff"]
|
||||
impl crate::Resettable for SIZERAMBLOCK_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#[doc = "Register `SIZERAMBLOCKS` reader"]
|
||||
pub struct R(crate::R<SIZERAMBLOCKS_SPEC>);
|
||||
impl core::ops::Deref for R {
|
||||
type Target = crate::R<SIZERAMBLOCKS_SPEC>;
|
||||
#[inline(always)]
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
impl From<crate::R<SIZERAMBLOCKS_SPEC>> for R {
|
||||
#[inline(always)]
|
||||
fn from(reader: crate::R<SIZERAMBLOCKS_SPEC>) -> Self {
|
||||
R(reader)
|
||||
}
|
||||
}
|
||||
#[doc = "Size of RAM blocks in bytes.\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 [sizeramblocks](index.html) module"]
|
||||
pub struct SIZERAMBLOCKS_SPEC;
|
||||
impl crate::RegisterSpec for SIZERAMBLOCKS_SPEC {
|
||||
type Ux = u32;
|
||||
}
|
||||
#[doc = "`read()` method returns [sizeramblocks::R](R) reader structure"]
|
||||
impl crate::Readable for SIZERAMBLOCKS_SPEC {
|
||||
type Reader = R;
|
||||
}
|
||||
#[doc = "`reset()` method sets SIZERAMBLOCKS to value 0xffff_ffff"]
|
||||
impl crate::Resettable for SIZERAMBLOCKS_SPEC {
|
||||
#[inline(always)]
|
||||
fn reset_value() -> Self::Ux {
|
||||
0xffff_ffff
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user