stm32f1_hal/afio/
i2c_remap.rs

1#![allow(unused_variables)]
2use super::*;
3use crate::{gpio::*, pac::*};
4
5// table
6// Do NOT manually modify the code.
7// It's generated by scripts/generate_remap_table.py from scripts/table/stm32f1_remap_peripheral.csv
8
9// Binder types ------------------
10
11pub trait I2cSclPin<REMAP> {}
12pub trait I2cSdaPin<REMAP> {}
13
14// Bind pins ---------------------
15
16impl I2cSclPin<RemapDefault<I2C1>> for PB6<Alternate<OpenDrain>> {}
17impl I2cSdaPin<RemapDefault<I2C1>> for PB7<Alternate<OpenDrain>> {}
18impl I2cSclPin<RemapFull<I2C1>> for PB8<Alternate<OpenDrain>> {}
19impl I2cSdaPin<RemapFull<I2C1>> for PB9<Alternate<OpenDrain>> {}
20impl I2cSclPin<RemapDefault<I2C2>> for PB10<Alternate<OpenDrain>> {}
21impl I2cSdaPin<RemapDefault<I2C2>> for PB11<Alternate<OpenDrain>> {}
22
23// Register operations ------------
24
25impl RemapMode<I2C1> for RemapDefault<I2C1> {
26    fn remap(afio: &mut Afio) {
27        afio.mapr.modify_mapr(|_, w| w.i2c1_remap().clear_bit());
28    }
29}
30impl RemapMode<I2C1> for RemapFull<I2C1> {
31    fn remap(afio: &mut Afio) {
32        afio.mapr.modify_mapr(|_, w| w.i2c1_remap().set_bit());
33    }
34}
35impl RemapMode<I2C2> for RemapDefault<I2C2> {
36    fn remap(afio: &mut Afio) {}
37}