#[repr(C)]
#[derive(Debug)]
///Register block
pub struct RegisterBlock {
sr: SR,
cr1: CR1,
cr2: CR2,
smpr1: SMPR1,
smpr2: SMPR2,
jofr: [JOFR; 4],
htr: HTR,
ltr: LTR,
sqr1: SQR1,
sqr2: SQR2,
sqr3: SQR3,
jsqr: JSQR,
jdr: [JDR; 4],
dr: DR,
}
impl RegisterBlock {
///0x00 - status register
#[inline(always)]
pub const fn sr(&self) -> &SR {
&self.sr
}
///0x04 - control register 1
#[inline(always)]
pub const fn cr1(&self) -> &CR1 {
&self.cr1
}
///0x08 - control register 2
#[inline(always)]
pub const fn cr2(&self) -> &CR2 {
&self.cr2
}
///0x0c - sample time register 1
#[inline(always)]
pub const fn smpr1(&self) -> &SMPR1 {
&self.smpr1
}
///0x10 - sample time register 2
#[inline(always)]
pub const fn smpr2(&self) -> &SMPR2 {
&self.smpr2
}
///0x14..0x24 - injected channel data offset register x
///
///
`n` is the index of register in the array. `n == 0` corresponds to `JOFR1` register.
#[inline(always)]
pub const fn jofr(&self, n: usize) -> &JOFR {
&self.jofr[n]
}
///Iterator for array of:
///0x14..0x24 - injected channel data offset register x
#[inline(always)]
pub fn jofr_iter(&self) -> impl Iterator- {
self.jofr.iter()
}
///0x14 - injected channel data offset register x
#[inline(always)]
pub const fn jofr1(&self) -> &JOFR {
self.jofr(0)
}
///0x18 - injected channel data offset register x
#[inline(always)]
pub const fn jofr2(&self) -> &JOFR {
self.jofr(1)
}
///0x1c - injected channel data offset register x
#[inline(always)]
pub const fn jofr3(&self) -> &JOFR {
self.jofr(2)
}
///0x20 - injected channel data offset register x
#[inline(always)]
pub const fn jofr4(&self) -> &JOFR {
self.jofr(3)
}
///0x24 - watchdog higher threshold register
#[inline(always)]
pub const fn htr(&self) -> &HTR {
&self.htr
}
///0x28 - watchdog lower threshold register
#[inline(always)]
pub const fn ltr(&self) -> <R {
&self.ltr
}
///0x2c - regular sequence register 1
#[inline(always)]
pub const fn sqr1(&self) -> &SQR1 {
&self.sqr1
}
///0x30 - regular sequence register 2
#[inline(always)]
pub const fn sqr2(&self) -> &SQR2 {
&self.sqr2
}
///0x34 - regular sequence register 3
#[inline(always)]
pub const fn sqr3(&self) -> &SQR3 {
&self.sqr3
}
///0x38 - injected sequence register
#[inline(always)]
pub const fn jsqr(&self) -> &JSQR {
&self.jsqr
}
///0x3c..0x4c - injected data register x
///
///
`n` is the index of register in the array. `n == 0` corresponds to `JDR1` register.
#[inline(always)]
pub const fn jdr(&self, n: usize) -> &JDR {
&self.jdr[n]
}
///Iterator for array of:
///0x3c..0x4c - injected data register x
#[inline(always)]
pub fn jdr_iter(&self) -> impl Iterator- {
self.jdr.iter()
}
///0x3c - injected data register x
#[inline(always)]
pub const fn jdr1(&self) -> &JDR {
self.jdr(0)
}
///0x40 - injected data register x
#[inline(always)]
pub const fn jdr2(&self) -> &JDR {
self.jdr(1)
}
///0x44 - injected data register x
#[inline(always)]
pub const fn jdr3(&self) -> &JDR {
self.jdr(2)
}
///0x48 - injected data register x
#[inline(always)]
pub const fn jdr4(&self) -> &JDR {
self.jdr(3)
}
///0x4c - regular data register
#[inline(always)]
pub const fn dr(&self) -> &DR {
&self.dr
}
}
/**SR (rw) register accessor: status register
You can [`read`](crate::Reg::read) this register and get [`sr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SR)
For information about available fields see [`mod@sr`]
module*/
pub type SR = crate::Reg;
///status register
pub mod sr;
/**CR1 (rw) register accessor: control register 1
You can [`read`](crate::Reg::read) this register and get [`cr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:CR1)
For information about available fields see [`mod@cr1`]
module*/
pub type CR1 = crate::Reg;
///control register 1
pub mod cr1;
/**CR2 (rw) register accessor: control register 2
You can [`read`](crate::Reg::read) this register and get [`cr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:CR2)
For information about available fields see [`mod@cr2`]
module*/
pub type CR2 = crate::Reg;
///control register 2
pub mod cr2;
/**SMPR1 (rw) register accessor: sample time register 1
You can [`read`](crate::Reg::read) this register and get [`smpr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`smpr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SMPR1)
For information about available fields see [`mod@smpr1`]
module*/
pub type SMPR1 = crate::Reg;
///sample time register 1
pub mod smpr1;
/**SMPR2 (rw) register accessor: sample time register 2
You can [`read`](crate::Reg::read) this register and get [`smpr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`smpr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SMPR2)
For information about available fields see [`mod@smpr2`]
module*/
pub type SMPR2 = crate::Reg;
///sample time register 2
pub mod smpr2;
/**JOFR (rw) register accessor: injected channel data offset register x
You can [`read`](crate::Reg::read) this register and get [`jofr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`jofr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:JOFR[1])
For information about available fields see [`mod@jofr`]
module*/
pub type JOFR = crate::Reg;
///injected channel data offset register x
pub mod jofr;
/**HTR (rw) register accessor: watchdog higher threshold register
You can [`read`](crate::Reg::read) this register and get [`htr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`htr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:HTR)
For information about available fields see [`mod@htr`]
module*/
pub type HTR = crate::Reg;
///watchdog higher threshold register
pub mod htr;
/**LTR (rw) register accessor: watchdog lower threshold register
You can [`read`](crate::Reg::read) this register and get [`ltr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ltr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:LTR)
For information about available fields see [`mod@ltr`]
module*/
pub type LTR = crate::Reg;
///watchdog lower threshold register
pub mod ltr;
/**SQR1 (rw) register accessor: regular sequence register 1
You can [`read`](crate::Reg::read) this register and get [`sqr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sqr1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SQR1)
For information about available fields see [`mod@sqr1`]
module*/
pub type SQR1 = crate::Reg;
///regular sequence register 1
pub mod sqr1;
/**SQR2 (rw) register accessor: regular sequence register 2
You can [`read`](crate::Reg::read) this register and get [`sqr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sqr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SQR2)
For information about available fields see [`mod@sqr2`]
module*/
pub type SQR2 = crate::Reg;
///regular sequence register 2
pub mod sqr2;
/**SQR3 (rw) register accessor: regular sequence register 3
You can [`read`](crate::Reg::read) this register and get [`sqr3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sqr3::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:SQR3)
For information about available fields see [`mod@sqr3`]
module*/
pub type SQR3 = crate::Reg;
///regular sequence register 3
pub mod sqr3;
/**JSQR (rw) register accessor: injected sequence register
You can [`read`](crate::Reg::read) this register and get [`jsqr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`jsqr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:JSQR)
For information about available fields see [`mod@jsqr`]
module*/
pub type JSQR = crate::Reg;
///injected sequence register
pub mod jsqr;
/**JDR (r) register accessor: injected data register x
You can [`read`](crate::Reg::read) this register and get [`jdr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:JDR[1])
For information about available fields see [`mod@jdr`]
module*/
pub type JDR = crate::Reg;
///injected data register x
pub mod jdr;
/**DR (r) register accessor: regular data register
You can [`read`](crate::Reg::read) this register and get [`dr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F103.html#ADC2:DR)
For information about available fields see [`mod@dr`]
module*/
pub type DR = crate::Reg;
///regular data register
pub mod dr;