#[doc = "Register `EEADJ` reader"]
pub type R = crate::R<EeadjSpec>;
#[doc = "Register `EEADJ` writer"]
pub type W = crate::W<EeadjSpec>;
#[doc = "Field `OSCX2` reader - Увеличение частоты тактового сигнала, поступающего на устройство с зарядовой накачкой, в два раза. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type Oscx2R = crate::BitReader;
#[doc = "Field `OSCX2` writer - Увеличение частоты тактового сигнала, поступающего на устройство с зарядовой накачкой, в два раза. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type Oscx2W<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `HivCtl` reader - Подстройка уровня внутреннего сигнала HIV. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type HivCtlR = crate::FieldReader;
#[doc = "Field `HivCtl` writer - Подстройка уровня внутреннего сигнала HIV. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type HivCtlW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
#[doc = "Field `PlusImix` reader - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type PlusImixR = crate::BitReader;
#[doc = "Field `PlusImix` writer - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type PlusImixW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `VboostCtl` reader - Старший разряд - подстройка внутреннего сигнала Vboost, младший разряд - сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VboostCtlR = crate::FieldReader;
#[doc = "Field `VboostCtl` writer - Старший разряд - подстройка внутреннего сигнала Vboost, младший разряд - сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VboostCtlW<'a, REG> = crate::FieldWriter<'a, REG, 2>;
#[doc = "Field `MinusImix` reader - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type MinusImixR = crate::BitReader;
#[doc = "Field `MinusImix` writer - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type MinusImixW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `DummyCtl` reader - Подстройка момента захвата выдаваемых данных. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type DummyCtlR = crate::FieldReader;
#[doc = "Field `DummyCtl` writer - Подстройка момента захвата выдаваемых данных. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type DummyCtlW<'a, REG> = crate::FieldWriter<'a, REG, 2>;
#[doc = "Field `VbgCtl` reader - Подстройка опорного напряжения bandgap. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VbgCtlR = crate::FieldReader;
#[doc = "Field `VbgCtl` writer - Подстройка опорного напряжения bandgap. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VbgCtlW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
#[doc = "Field `RefCtl` reader - Подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type RefCtlR = crate::FieldReader;
#[doc = "Field `RefCtl` writer - Подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type RefCtlW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
#[doc = "Field `VcgCtl` reader - Подстройка напряжения, подаваемого на управляющие затворы при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VcgCtlR = crate::FieldReader;
#[doc = "Field `VcgCtl` writer - Подстройка напряжения, подаваемого на управляющие затворы при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VcgCtlW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
#[doc = "Field `CGSTRICT` reader - Включение режима точной подстройки напряжения, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type CgstrictR = crate::BitReader;
#[doc = "Field `CGSTRICT` writer - Включение режима точной подстройки напряжения, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type CgstrictW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `VppCtl` reader - Подстройка времени нарастания высокого напряжения. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VppCtlR = crate::FieldReader;
#[doc = "Field `VppCtl` writer - Подстройка времени нарастания высокого напряжения. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type VppCtlW<'a, REG> = crate::FieldWriter<'a, REG, 2>;
#[doc = "Field `StrictCtl` reader - Точная подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type StrictCtlR = crate::FieldReader;
#[doc = "Field `StrictCtl` writer - Точная подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type StrictCtlW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
#[doc = "Field `StopEe` reader - Перевод Hard IP в режим пониженного энергопотребления"]
pub type StopEeR = crate::BitReader;
#[doc = "Field `StopEe` writer - Перевод Hard IP в режим пониженного энергопотребления"]
pub type StopEeW<'a, REG> = crate::BitWriter<'a, REG>;
#[doc = "Field `IddqEn` reader - Перевод Hard IP в состояние бездействия (quiescent) для Iddq тестирования. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type IddqEnR = crate::BitReader;
#[doc = "Field `IddqEn` writer - Перевод Hard IP в состояние бездействия (quiescent) для Iddq тестирования. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
pub type IddqEnW<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
#[doc = "Bit 0 - Увеличение частоты тактового сигнала, поступающего на устройство с зарядовой накачкой, в два раза. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn oscx2(&self) -> Oscx2R {
Oscx2R::new((self.bits & 1) != 0)
}
#[doc = "Bits 1:3 - Подстройка уровня внутреннего сигнала HIV. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn hiv_ctl(&self) -> HivCtlR {
HivCtlR::new(((self.bits >> 1) & 7) as u8)
}
#[doc = "Bit 4 - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn plus_imix(&self) -> PlusImixR {
PlusImixR::new(((self.bits >> 4) & 1) != 0)
}
#[doc = "Bits 5:6 - Старший разряд - подстройка внутреннего сигнала Vboost, младший разряд - сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vboost_ctl(&self) -> VboostCtlR {
VboostCtlR::new(((self.bits >> 5) & 3) as u8)
}
#[doc = "Bit 7 - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn minus_imix(&self) -> MinusImixR {
MinusImixR::new(((self.bits >> 7) & 1) != 0)
}
#[doc = "Bits 8:9 - Подстройка момента захвата выдаваемых данных. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn dummy_ctl(&self) -> DummyCtlR {
DummyCtlR::new(((self.bits >> 8) & 3) as u8)
}
#[doc = "Bits 10:12 - Подстройка опорного напряжения bandgap. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vbg_ctl(&self) -> VbgCtlR {
VbgCtlR::new(((self.bits >> 10) & 7) as u8)
}
#[doc = "Bits 13:15 - Подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn ref_ctl(&self) -> RefCtlR {
RefCtlR::new(((self.bits >> 13) & 7) as u8)
}
#[doc = "Bits 16:18 - Подстройка напряжения, подаваемого на управляющие затворы при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vcg_ctl(&self) -> VcgCtlR {
VcgCtlR::new(((self.bits >> 16) & 7) as u8)
}
#[doc = "Bit 19 - Включение режима точной подстройки напряжения, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn cgstrict(&self) -> CgstrictR {
CgstrictR::new(((self.bits >> 19) & 1) != 0)
}
#[doc = "Bits 20:21 - Подстройка времени нарастания высокого напряжения. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vpp_ctl(&self) -> VppCtlR {
VppCtlR::new(((self.bits >> 20) & 3) as u8)
}
#[doc = "Bits 22:24 - Точная подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn strict_ctl(&self) -> StrictCtlR {
StrictCtlR::new(((self.bits >> 22) & 7) as u8)
}
#[doc = "Bit 25 - Перевод Hard IP в режим пониженного энергопотребления"]
#[inline(always)]
pub fn stop_ee(&self) -> StopEeR {
StopEeR::new(((self.bits >> 25) & 1) != 0)
}
#[doc = "Bit 26 - Перевод Hard IP в состояние бездействия (quiescent) для Iddq тестирования. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn iddq_en(&self) -> IddqEnR {
IddqEnR::new(((self.bits >> 26) & 1) != 0)
}
}
impl W {
#[doc = "Bit 0 - Увеличение частоты тактового сигнала, поступающего на устройство с зарядовой накачкой, в два раза. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn oscx2(&mut self) -> Oscx2W<'_, EeadjSpec> {
Oscx2W::new(self, 0)
}
#[doc = "Bits 1:3 - Подстройка уровня внутреннего сигнала HIV. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn hiv_ctl(&mut self) -> HivCtlW<'_, EeadjSpec> {
HivCtlW::new(self, 1)
}
#[doc = "Bit 4 - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn plus_imix(&mut self) -> PlusImixW<'_, EeadjSpec> {
PlusImixW::new(self, 4)
}
#[doc = "Bits 5:6 - Старший разряд - подстройка внутреннего сигнала Vboost, младший разряд - сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vboost_ctl(&mut self) -> VboostCtlW<'_, EeadjSpec> {
VboostCtlW::new(self, 5)
}
#[doc = "Bit 7 - Сигнал управления блоком мониторинга аналоговых сигналов. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn minus_imix(&mut self) -> MinusImixW<'_, EeadjSpec> {
MinusImixW::new(self, 7)
}
#[doc = "Bits 8:9 - Подстройка момента захвата выдаваемых данных. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn dummy_ctl(&mut self) -> DummyCtlW<'_, EeadjSpec> {
DummyCtlW::new(self, 8)
}
#[doc = "Bits 10:12 - Подстройка опорного напряжения bandgap. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vbg_ctl(&mut self) -> VbgCtlW<'_, EeadjSpec> {
VbgCtlW::new(self, 10)
}
#[doc = "Bits 13:15 - Подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn ref_ctl(&mut self) -> RefCtlW<'_, EeadjSpec> {
RefCtlW::new(self, 13)
}
#[doc = "Bits 16:18 - Подстройка напряжения, подаваемого на управляющие затворы при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vcg_ctl(&mut self) -> VcgCtlW<'_, EeadjSpec> {
VcgCtlW::new(self, 16)
}
#[doc = "Bit 19 - Включение режима точной подстройки напряжения, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn cgstrict(&mut self) -> CgstrictW<'_, EeadjSpec> {
CgstrictW::new(self, 19)
}
#[doc = "Bits 20:21 - Подстройка времени нарастания высокого напряжения. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn vpp_ctl(&mut self) -> VppCtlW<'_, EeadjSpec> {
VppCtlW::new(self, 20)
}
#[doc = "Bits 22:24 - Точная подстройка тока, используемого при чтении. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn strict_ctl(&mut self) -> StrictCtlW<'_, EeadjSpec> {
StrictCtlW::new(self, 22)
}
#[doc = "Bit 25 - Перевод Hard IP в режим пониженного энергопотребления"]
#[inline(always)]
pub fn stop_ee(&mut self) -> StopEeW<'_, EeadjSpec> {
StopEeW::new(self, 25)
}
#[doc = "Bit 26 - Перевод Hard IP в состояние бездействия (quiescent) для Iddq тестирования. Поле предназначено для тонкой настройки блока и выполнения процедуры тестирование. Не гарантируется работа блока при использовании не рекомендованных производителем значений."]
#[inline(always)]
pub fn iddq_en(&mut self) -> IddqEnW<'_, EeadjSpec> {
IddqEnW::new(self, 26)
}
}
#[doc = "Регистр настроек\n\nYou can [`read`](crate::Reg::read) this register and get [`eeadj::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`eeadj::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct EeadjSpec;
impl crate::RegisterSpec for EeadjSpec {
type Ux = u32;
}
#[doc = "`read()` method returns [`eeadj::R`](R) reader structure"]
impl crate::Readable for EeadjSpec {}
#[doc = "`write(|w| ..)` method takes [`eeadj::W`](W) writer structure"]
impl crate::Writable for EeadjSpec {
type Safety = crate::Unsafe;
}
#[doc = "`reset()` method sets EEADJ to value 0x0032_9000"]
impl crate::Resettable for EeadjSpec {
const RESET_VALUE: u32 = 0x0032_9000;
}