Finalize i2c v2.

This commit is contained in:
Bob McWhirter 2021-05-24 11:41:37 -04:00
parent a126e17fb2
commit aed8283cd5
118 changed files with 24510 additions and 20657 deletions

View file

@ -137,6 +137,15 @@ for chip in chips.values():
if func := funcs.get(f'{name}_MISO'):
f.write(f'impl_spi_pin!({name}, MisoPin, {pin}, {func});')
if block_mod == 'i2c':
f.write(f'impl_i2c!({name});')
for pin, funcs in af.items():
if pin in pins:
if func := funcs.get(f'{name}_SCL'):
f.write(f'impl_i2c_pin!({name}, SclPin, {pin}, {func});')
if func := funcs.get(f'{name}_SDA'):
f.write(f'impl_i2c_pin!({name}, SdaPin, {pin}, {func});')
if block_mod == 'gpio':
custom_singletons = True
port = name[4:]

View file

@ -0,0 +1,58 @@
#![macro_use]
#[cfg_attr(feature = "_i2c_v2", path = "v2.rs")]
mod _version;
pub use _version::*;
pub enum Error {
Bus,
Arbitration,
Nack,
}
pub(crate) mod sealed {
use super::*;
use crate::gpio::Pin;
pub trait Instance {
fn regs() -> &'static crate::pac::i2c::I2c;
}
pub trait SclPin<T: Instance>: Pin {
fn af_num(&self) -> u8;
}
pub trait SdaPin<T: Instance>: Pin {
fn af_num(&self) -> u8;
}
}
pub trait Instance: sealed::Instance + 'static {}
pub trait SclPin<T: Instance>: sealed::SclPin<T> + 'static {}
pub trait SdaPin<T: Instance>: sealed::SdaPin<T> + 'static {}
macro_rules! impl_i2c {
($inst:ident) => {
impl crate::i2c::sealed::Instance for peripherals::$inst {
fn regs() -> &'static crate::pac::i2c::I2c {
&crate::pac::$inst
}
}
impl crate::i2c::Instance for peripherals::$inst {}
};
}
macro_rules! impl_i2c_pin {
($inst:ident, $pin_func:ident, $pin:ident, $af:expr) => {
impl crate::i2c::$pin_func<peripherals::$inst> for peripherals::$pin {}
impl crate::i2c::sealed::$pin_func<peripherals::$inst> for peripherals::$pin {
fn af_num(&self) -> u8 {
$af
}
}
};
}

494
embassy-stm32/src/i2c/v2.rs Normal file
View file

@ -0,0 +1,494 @@
use crate::gpio::AnyPin;
use crate::gpio::Pin;
use crate::i2c::{Error, Instance, SclPin, SdaPin};
use crate::time::Hertz;
use core::marker::PhantomData;
use embassy::util::Unborrow;
use embassy_extras::unborrow;
use embedded_hal::blocking::i2c::Read;
use embedded_hal::blocking::i2c::Write;
use embedded_hal::blocking::i2c::WriteRead;
use crate::pac::i2c;
use crate::pac::i2c::I2c as I2cTrait;
use core::cmp;
use crate::pac::gpio::vals::{Afr, Moder, Ot};
use crate::pac::gpio::Gpio;
use crate::pac::regs::gpio_v1::vals::Cnf;
pub struct I2c<'d, T: Instance> {
//peri: T,
scl: AnyPin,
sda: AnyPin,
phantom: PhantomData<&'d mut T>,
}
impl<'d, T: Instance> I2c<'d, T> {
pub fn new<F>(
pclk: Hertz,
peri: impl Unborrow<Target = T> + 'd,
scl: impl Unborrow<Target = impl SclPin<T>>,
sda: impl Unborrow<Target = impl SdaPin<T>>,
freq: F,
) -> Self
where
F: Into<Hertz>,
{
unborrow!(peri);
unborrow!(scl, sda);
unsafe {
Self::configure_pin(scl.block(), scl.pin() as _, scl.af_num());
Self::configure_pin(sda.block(), sda.pin() as _, sda.af_num());
}
unsafe {
T::regs().cr1().modify(|reg| {
reg.set_pe(false);
reg.set_anfoff(false);
});
}
let timings = Timings::new(pclk, freq.into());
unsafe {
T::regs().timingr().write(|reg| {
reg.set_presc(timings.prescale);
reg.set_scll(timings.scll);
reg.set_sclh(timings.sclh);
reg.set_sdadel(timings.sdadel);
reg.set_scldel(timings.scldel);
});
}
let scl = scl.degrade();
let sda = sda.degrade();
unsafe {
T::regs().cr1().modify(|reg| {
reg.set_pe(true);
});
}
Self {
scl,
sda,
phantom: PhantomData,
}
}
unsafe fn configure_pin(block: Gpio, pin: usize, af_num: u8) {
let (afr, n_af) = if pin < 8 { (0, pin) } else { (1, pin - 8) };
block.moder().modify(|w| w.set_moder(pin, Moder::ALTERNATE));
block.afr(afr).modify(|w| w.set_afr(n_af, Afr(af_num)));
block.otyper().modify(|w| w.set_ot(pin, Ot::OPENDRAIN));
//block
//.ospeedr()
//.modify(|w| w.set_ospeedr(pin, crate::pac::gpio::vals::Ospeedr::VERYHIGHSPEED));
}
fn master_stop(&mut self) {
unsafe {
T::regs().cr2().write(|w| w.set_stop(i2c::vals::Stop::STOP));
}
}
fn master_read(&mut self, address: u8, length: usize, stop: Stop) {
assert!(length < 256 && length > 0);
// Wait for any previous address sequence to end
// automatically. This could be up to 50% of a bus
// cycle (ie. up to 0.5/freq)
while unsafe { T::regs().cr2().read().start() == i2c::vals::Start::START } {}
// Set START and prepare to receive bytes into
// `buffer`. The START bit can be set even if the bus
// is BUSY or I2C is in slave mode.
unsafe {
T::regs().cr2().modify(|w| {
w.set_sadd((address << 1 | 0) as u16);
w.set_rd_wrn(i2c::vals::RdWrn::READ);
w.set_nbytes(length as u8);
w.set_start(i2c::vals::Start::START);
w.set_autoend(i2c::vals::Autoend::AUTOMATIC);
});
}
}
fn master_write(&mut self, address: u8, length: usize, stop: Stop) {
assert!(length < 256 && length > 0);
// Wait for any previous address sequence to end
// automatically. This could be up to 50% of a bus
// cycle (ie. up to 0.5/freq)
while unsafe { T::regs().cr2().read().start() == i2c::vals::Start::START } {}
// Set START and prepare to send `bytes`. The
// START bit can be set even if the bus is BUSY or
// I2C is in slave mode.
unsafe {
T::regs().cr2().modify(|w| {
w.set_sadd((address << 1 | 0) as u16);
w.set_add10(i2c::vals::Add::BIT7);
w.set_rd_wrn(i2c::vals::RdWrn::WRITE);
w.set_nbytes(length as u8);
w.set_start(i2c::vals::Start::START);
w.set_autoend(stop.autoend());
});
}
}
fn master_re_start(&mut self, address: u8, length: usize, stop: Stop) {
assert!(length < 256 && length > 0);
unsafe {
T::regs().cr2().modify(|w| {
w.set_sadd((address << 1 | 1) as u16);
w.set_add10(i2c::vals::Add::BIT7);
w.set_rd_wrn(i2c::vals::RdWrn::READ);
w.set_nbytes(length as u8);
w.set_start(i2c::vals::Start::START);
w.set_autoend(stop.autoend());
});
}
}
fn flush_txdr(&self) {
//if $i2c.isr.read().txis().bit_is_set() {
//$i2c.txdr.write(|w| w.txdata().bits(0));
//}
unsafe {
if T::regs().isr().read().txis() {
T::regs().txdr().write(|w| w.set_txdata(0));
}
if T::regs().isr().read().txe() {
T::regs().isr().modify(|w| w.set_txe(true))
}
}
// If TXDR is not flagged as empty, write 1 to flush it
//if $i2c.isr.read().txe().is_not_empty() {
//$i2c.isr.write(|w| w.txe().set_bit());
//}
}
fn wait_txe(&self) -> Result<(), Error> {
loop {
unsafe {
let isr = T::regs().isr().read();
if isr.txe() {
return Ok(());
} else if isr.berr() {
T::regs().icr().write(|reg| reg.set_berrcf(true));
return Err(Error::Bus);
} else if isr.arlo() {
T::regs().icr().write(|reg| reg.set_arlocf(true));
return Err(Error::Arbitration);
} else if isr.nackf() {
T::regs().icr().write(|reg| reg.set_nackcf(true));
self.flush_txdr();
return Err(Error::Nack);
}
}
}
}
fn wait_rxne(&self) -> Result<(), Error> {
loop {
unsafe {
let isr = T::regs().isr().read();
if isr.rxne() {
return Ok(());
} else if isr.berr() {
T::regs().icr().write(|reg| reg.set_berrcf(true));
return Err(Error::Bus);
} else if isr.arlo() {
T::regs().icr().write(|reg| reg.set_arlocf(true));
return Err(Error::Arbitration);
} else if isr.nackf() {
T::regs().icr().write(|reg| reg.set_nackcf(true));
self.flush_txdr();
return Err(Error::Nack);
}
}
}
}
fn wait_tc(&self) -> Result<(), Error> {
loop {
unsafe {
let isr = T::regs().isr().read();
if isr.tc() {
return Ok(());
} else if isr.berr() {
T::regs().icr().write(|reg| reg.set_berrcf(true));
return Err(Error::Bus);
} else if isr.arlo() {
T::regs().icr().write(|reg| reg.set_arlocf(true));
return Err(Error::Arbitration);
} else if isr.nackf() {
T::regs().icr().write(|reg| reg.set_nackcf(true));
self.flush_txdr();
return Err(Error::Nack);
}
}
}
}
}
impl<'d, T: Instance> Read for I2c<'d, T> {
type Error = Error;
fn read(&mut self, address: u8, buffer: &mut [u8]) -> Result<(), Self::Error> {
assert!(buffer.len() < 256 && buffer.len() > 0);
self.master_read(address, buffer.len(), Stop::Automatic);
for byte in buffer {
// Wait until we have received something
self.wait_rxne()?;
//*byte = self.i2c.rxdr.read().rxdata().bits();
unsafe {
*byte = T::regs().rxdr().read().rxdata();
}
}
// automatic STOP
Ok(())
}
}
impl<'d, T: Instance> Write for I2c<'d, T> {
type Error = Error;
fn write(&mut self, address: u8, bytes: &[u8]) -> Result<(), Self::Error> {
// TODO support transfers of more than 255 bytes
assert!(bytes.len() < 256 && bytes.len() > 0);
// I2C start
//
// ST SAD+W
self.master_write(address, bytes.len(), Stop::Software);
for byte in bytes {
// Wait until we are allowed to send data
// (START has been ACKed or last byte when
// through)
self.wait_txe()?;
// Put byte on the wire
//self.i2c.txdr.write(|w| w.txdata().bits(*byte));
unsafe {
T::regs().txdr().write(|w| w.set_txdata(*byte));
}
}
// Wait until the write finishes
self.wait_tc()?;
// Stop
self.master_stop();
Ok(())
}
}
impl<'d, T: Instance> WriteRead for I2c<'d, T> {
type Error = Error;
fn write_read(
&mut self,
address: u8,
bytes: &[u8],
buffer: &mut [u8],
) -> Result<(), Self::Error> {
// TODO support transfers of more than 255 bytes
assert!(bytes.len() < 256 && bytes.len() > 0);
assert!(buffer.len() < 256 && buffer.len() > 0);
// I2C start
//
// ST SAD+W
self.master_write(address, bytes.len(), Stop::Software);
for byte in bytes {
// Wait until we are allowed to send data
// (START has been ACKed or last byte went through)
self.wait_txe()?;
// Put byte on the wire
//self.i2c.txdr.write(|w| w.txdata().bits(*byte));
unsafe {
T::regs().txdr().write(|w| w.set_txdata(*byte));
}
}
// Wait until the write finishes before beginning to read.
self.wait_tc()?;
// I2C re-start
//
// SR SAD+R
self.master_re_start(address, buffer.len(), Stop::Automatic);
for byte in buffer {
// Wait until we have received something
self.wait_rxne()?;
//*byte = self.i2c.rxdr.read().rxdata().bits();
unsafe {
*byte = T::regs().rxdr().read().rxdata();
}
}
// automatic STOP
Ok(())
}
}
/// I2C Stop Configuration
///
/// Peripheral options for generating the STOP condition
#[derive(Copy, Clone, PartialEq)]
pub enum Stop {
/// Software end mode: Must write register to generate STOP condition
Software,
/// Automatic end mode: A STOP condition is automatically generated once the
/// configured number of bytes have been transferred
Automatic,
}
impl Stop {
fn autoend(&self) -> i2c::vals::Autoend {
match self {
Stop::Software => i2c::vals::Autoend::SOFTWARE,
Stop::Automatic => i2c::vals::Autoend::AUTOMATIC,
}
}
}
struct Timings {
prescale: u8,
scll: u8,
sclh: u8,
sdadel: u8,
scldel: u8,
}
impl Timings {
fn new(i2cclk: Hertz, freq: Hertz) -> Self {
let i2cclk = i2cclk.0;
let freq = freq.0;
// Refer to RM0433 Rev 7 Figure 539 for setup and hold timing:
//
// t_I2CCLK = 1 / PCLK1
// t_PRESC = (PRESC + 1) * t_I2CCLK
// t_SCLL = (SCLL + 1) * t_PRESC
// t_SCLH = (SCLH + 1) * t_PRESC
//
// t_SYNC1 + t_SYNC2 > 4 * t_I2CCLK
// t_SCL ~= t_SYNC1 + t_SYNC2 + t_SCLL + t_SCLH
let ratio = i2cclk / freq;
// For the standard-mode configuration method, we must have a ratio of 4
// or higher
assert!(
ratio >= 4,
"The I2C PCLK must be at least 4 times the bus frequency!"
);
let (presc_reg, scll, sclh, sdadel, scldel) = if freq > 100_000 {
// Fast-mode (Fm) or Fast-mode Plus (Fm+)
// here we pick SCLL + 1 = 2 * (SCLH + 1)
// Prescaler, 384 ticks for sclh/scll. Round up then subtract 1
let presc_reg = ((ratio - 1) / 384) as u8;
// ratio < 1200 by pclk 120MHz max., therefore presc < 16
// Actual precale value selected
let presc = (presc_reg + 1) as u32;
let sclh = ((ratio / presc) - 3) / 3;
let scll = (2 * (sclh + 1)) - 1;
let (sdadel, scldel) = if freq > 400_000 {
// Fast-mode Plus (Fm+)
assert!(i2cclk >= 17_000_000); // See table in datsheet
let sdadel = i2cclk / 8_000_000 / presc;
let scldel = i2cclk / 4_000_000 / presc - 1;
(sdadel, scldel)
} else {
// Fast-mode (Fm)
assert!(i2cclk >= 8_000_000); // See table in datsheet
let sdadel = i2cclk / 4_000_000 / presc;
let scldel = i2cclk / 2_000_000 / presc - 1;
(sdadel, scldel)
};
(
presc_reg,
scll as u8,
sclh as u8,
sdadel as u8,
scldel as u8,
)
} else {
// Standard-mode (Sm)
// here we pick SCLL = SCLH
assert!(i2cclk >= 2_000_000); // See table in datsheet
// Prescaler, 512 ticks for sclh/scll. Round up then
// subtract 1
let presc = (ratio - 1) / 512;
let presc_reg = cmp::min(presc, 15) as u8;
// Actual prescale value selected
let presc = (presc_reg + 1) as u32;
let sclh = ((ratio / presc) - 2) / 2;
let scll = sclh;
// Speed check
assert!(
sclh < 256,
"The I2C PCLK is too fast for this bus frequency!"
);
let sdadel = i2cclk / 2_000_000 / presc;
let scldel = i2cclk / 500_000 / presc - 1;
(
presc_reg,
scll as u8,
sclh as u8,
sdadel as u8,
scldel as u8,
)
};
// Sanity check
assert!(presc_reg < 16);
// Keep values within reasonable limits for fast per_ck
let sdadel = cmp::max(sdadel, 2);
let scldel = cmp::max(scldel, 4);
//(presc_reg, scll, sclh, sdadel, scldel)
Self {
prescale: presc_reg,
scll,
sclh,
sdadel,
scldel,
}
}
}

View file

@ -15,6 +15,8 @@ pub mod clock;
pub mod dma;
pub mod exti;
pub mod gpio;
#[cfg(feature = "_i2c")]
pub mod i2c;
pub mod pwr;
pub mod rcc;
#[cfg(feature = "_rng")]

File diff suppressed because it is too large Load diff

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,9 +197,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,9 +197,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,9 +197,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -197,10 +197,45 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const I2C5: i2c::I2c = i2c::I2c(0x40006400 as _);
impl_i2c!(I2C5);
impl_i2c_pin!(I2C5, SclPin, PA8, 6);
impl_i2c_pin!(I2C5, SdaPin, PC10, 4);
impl_i2c_pin!(I2C5, SclPin, PC11, 4);
impl_i2c_pin!(I2C5, SdaPin, PC9, 6);
impl_i2c_pin!(I2C5, SdaPin, PF0, 6);
impl_i2c_pin!(I2C5, SclPin, PF1, 6);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, HASH_RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RCC: rcc::Rcc = rcc::Rcc(0x58024400 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,9 +214,37 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C2: i2c::I2c = i2c::I2c(0x40005800 as _);
impl_i2c!(I2C2);
impl_i2c_pin!(I2C2, SclPin, PB10, 4);
impl_i2c_pin!(I2C2, SdaPin, PB11, 4);
impl_i2c_pin!(I2C2, SdaPin, PF0, 4);
impl_i2c_pin!(I2C2, SclPin, PF1, 4);
impl_i2c_pin!(I2C2, SclPin, PH4, 4);
impl_i2c_pin!(I2C2, SdaPin, PH5, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

View file

@ -214,8 +214,29 @@ impl_gpio_pin!(PK13, 10, 13, EXTI13);
impl_gpio_pin!(PK14, 10, 14, EXTI14);
impl_gpio_pin!(PK15, 10, 15, EXTI15);
pub const I2C1: i2c::I2c = i2c::I2c(0x40005400 as _);
impl_i2c!(I2C1);
impl_i2c_pin!(I2C1, SclPin, PB6, 4);
impl_i2c_pin!(I2C1, SdaPin, PB7, 4);
impl_i2c_pin!(I2C1, SclPin, PB8, 4);
impl_i2c_pin!(I2C1, SdaPin, PB9, 4);
pub const I2C3: i2c::I2c = i2c::I2c(0x40005c00 as _);
impl_i2c!(I2C3);
impl_i2c_pin!(I2C3, SclPin, PA8, 4);
impl_i2c_pin!(I2C3, SdaPin, PC9, 4);
impl_i2c_pin!(I2C3, SclPin, PH7, 4);
impl_i2c_pin!(I2C3, SdaPin, PH8, 4);
pub const I2C4: i2c::I2c = i2c::I2c(0x58001c00 as _);
impl_i2c!(I2C4);
impl_i2c_pin!(I2C4, SclPin, PB6, 6);
impl_i2c_pin!(I2C4, SdaPin, PB7, 6);
impl_i2c_pin!(I2C4, SclPin, PB8, 6);
impl_i2c_pin!(I2C4, SdaPin, PB9, 6);
impl_i2c_pin!(I2C4, SclPin, PD12, 4);
impl_i2c_pin!(I2C4, SdaPin, PD13, 4);
impl_i2c_pin!(I2C4, SclPin, PF14, 4);
impl_i2c_pin!(I2C4, SdaPin, PF15, 4);
impl_i2c_pin!(I2C4, SclPin, PH11, 4);
impl_i2c_pin!(I2C4, SdaPin, PH12, 4);
pub const PWR: pwr::Pwr = pwr::Pwr(0x58024800 as _);
pub const RNG: rng::Rng = rng::Rng(0x48021800 as _);
impl_rng!(RNG, RNG);

Some files were not shown because too many files have changed in this diff Show more