pub(crate) static PERIPHERALS: &[Peripheral] = &[
Peripheral {
name: "ADC1",
address: 0x40012400,
registers: Some(PeripheralRegisters {
kind: "adc",
version: "f1",
block: "ADC",
ir: &adc::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "ADC1EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "ADC1RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA0",
signal: "IN0",
af: None,
},
PeripheralPin {
pin: "PA1",
signal: "IN1",
af: None,
},
PeripheralPin {
pin: "PA2",
signal: "IN2",
af: None,
},
PeripheralPin {
pin: "PA3",
signal: "IN3",
af: None,
},
PeripheralPin {
pin: "PA4",
signal: "IN4",
af: None,
},
PeripheralPin {
pin: "PA5",
signal: "IN5",
af: None,
},
PeripheralPin {
pin: "PA6",
signal: "IN6",
af: None,
},
PeripheralPin {
pin: "PA7",
signal: "IN7",
af: None,
},
PeripheralPin {
pin: "PB0",
signal: "IN8",
af: None,
},
PeripheralPin {
pin: "PB1",
signal: "IN9",
af: None,
},
],
dma_channels: &[PeripheralDmaChannel {
signal: "ADC1",
channel: Some("DMA1_CH1"),
dmamux: None,
remap: &[],
dma: None,
request: None,
}],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "ADC1",
}],
afio: None,
},
Peripheral {
name: "ADC1_COMMON",
address: 0x40012400,
registers: None,
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "AFIO",
address: 0x40010000,
registers: Some(PeripheralRegisters {
kind: "afio",
version: "f1",
block: "AFIO",
ir: &afio::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "AFIOEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "AFIORST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "BKP",
address: 0x40006c00,
registers: Some(PeripheralRegisters {
kind: "bkp",
version: "v1",
block: "BKP",
ir: &bkp::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "BKPEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "BKPRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "CRC",
address: 0x40023000,
registers: Some(PeripheralRegisters {
kind: "crc",
version: "v1",
block: "CRC",
ir: &crc::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "HCLK1",
kernel_clock: Clock("HCLK1"),
enable: Some(PeripheralRccRegister {
register: "AHBENR",
field: "CRCEN",
}),
reset: None,
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "DBGMCU",
address: 0xe0042000,
registers: Some(PeripheralRegisters {
kind: "dbgmcu",
version: "f1",
block: "DBGMCU",
ir: &dbgmcu::REGISTERS,
}),
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "DMA1",
address: 0x40020000,
registers: Some(PeripheralRegisters {
kind: "bdma",
version: "v1",
block: "DMA",
ir: &bdma::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "HCLK1",
kernel_clock: Clock("HCLK1"),
enable: Some(PeripheralRccRegister {
register: "AHBENR",
field: "DMA1EN",
}),
reset: None,
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[
PeripheralInterrupt {
signal: "CH1",
interrupt: "DMA1_CHANNEL1",
},
PeripheralInterrupt {
signal: "CH2",
interrupt: "DMA1_CHANNEL2",
},
PeripheralInterrupt {
signal: "CH3",
interrupt: "DMA1_CHANNEL3",
},
PeripheralInterrupt {
signal: "CH4",
interrupt: "DMA1_CHANNEL4",
},
PeripheralInterrupt {
signal: "CH5",
interrupt: "DMA1_CHANNEL5",
},
PeripheralInterrupt {
signal: "CH6",
interrupt: "DMA1_CHANNEL6",
},
PeripheralInterrupt {
signal: "CH7",
interrupt: "DMA1_CHANNEL7",
},
],
afio: None,
},
Peripheral {
name: "EXTI",
address: 0x40010400,
registers: Some(PeripheralRegisters {
kind: "exti",
version: "v1",
block: "EXTI",
ir: &exti::REGISTERS,
}),
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[
PeripheralInterrupt {
signal: "EXTI0",
interrupt: "EXTI0",
},
PeripheralInterrupt {
signal: "EXTI1",
interrupt: "EXTI1",
},
PeripheralInterrupt {
signal: "EXTI10",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI11",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI12",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI13",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI14",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI15",
interrupt: "EXTI15_10",
},
PeripheralInterrupt {
signal: "EXTI2",
interrupt: "EXTI2",
},
PeripheralInterrupt {
signal: "EXTI3",
interrupt: "EXTI3",
},
PeripheralInterrupt {
signal: "EXTI4",
interrupt: "EXTI4",
},
PeripheralInterrupt {
signal: "EXTI5",
interrupt: "EXTI9_5",
},
PeripheralInterrupt {
signal: "EXTI6",
interrupt: "EXTI9_5",
},
PeripheralInterrupt {
signal: "EXTI7",
interrupt: "EXTI9_5",
},
PeripheralInterrupt {
signal: "EXTI8",
interrupt: "EXTI9_5",
},
PeripheralInterrupt {
signal: "EXTI9",
interrupt: "EXTI9_5",
},
],
afio: None,
},
Peripheral {
name: "FLASH",
address: 0x40022000,
registers: Some(PeripheralRegisters {
kind: "flash",
version: "f1",
block: "FLASH",
ir: &flash::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "HCLK1",
kernel_clock: Clock("HCLK1"),
enable: Some(PeripheralRccRegister {
register: "AHBENR",
field: "FLASHEN",
}),
reset: None,
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "FLASH",
}],
afio: None,
},
Peripheral {
name: "GPIOA",
address: 0x40010800,
registers: Some(PeripheralRegisters {
kind: "gpio",
version: "v1",
block: "GPIO",
ir: &gpio::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "GPIOAEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "GPIOARST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "GPIOB",
address: 0x40010c00,
registers: Some(PeripheralRegisters {
kind: "gpio",
version: "v1",
block: "GPIO",
ir: &gpio::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "GPIOBEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "GPIOBRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "GPIOC",
address: 0x40011000,
registers: Some(PeripheralRegisters {
kind: "gpio",
version: "v1",
block: "GPIO",
ir: &gpio::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "GPIOCEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "GPIOCRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "GPIOD",
address: 0x40011400,
registers: Some(PeripheralRegisters {
kind: "gpio",
version: "v1",
block: "GPIO",
ir: &gpio::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "GPIODEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "GPIODRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "I2C1",
address: 0x40005400,
registers: Some(PeripheralRegisters {
kind: "i2c",
version: "v1",
block: "I2C",
ir: &i2c::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "I2C1EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "I2C1RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PB5",
signal: "SMBA",
af: None,
},
PeripheralPin {
pin: "PB6",
signal: "SCL",
af: None,
},
PeripheralPin {
pin: "PB7",
signal: "SDA",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "TX",
channel: Some("DMA1_CH6"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "RX",
channel: Some("DMA1_CH7"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[
PeripheralInterrupt {
signal: "ER",
interrupt: "I2C1_ER",
},
PeripheralInterrupt {
signal: "EV",
interrupt: "I2C1_EV",
},
],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "I2C1_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PB6", "PB7"],
},
PeripheralAfioValue {
value: 1,
pins: &["PB8", "PB9"],
},
],
}),
},
Peripheral {
name: "IWDG",
address: 0x40003000,
registers: Some(PeripheralRegisters {
kind: "iwdg",
version: "v1",
block: "IWDG",
ir: &iwdg::REGISTERS,
}),
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "PWR",
address: 0x40007000,
registers: Some(PeripheralRegisters {
kind: "pwr",
version: "f1",
block: "PWR",
ir: &pwr::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "PWREN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "PWRRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "RCC",
address: 0x40021000,
registers: Some(PeripheralRegisters {
kind: "rcc",
version: "f1",
block: "RCC",
ir: &rcc::REGISTERS,
}),
rcc: None,
pins: &[
PeripheralPin {
pin: "PA8",
signal: "MCO",
af: None,
},
PeripheralPin {
pin: "PD0",
signal: "OSC_IN",
af: None,
},
PeripheralPin {
pin: "PD1",
signal: "OSC_OUT",
af: None,
},
],
dma_channels: &[],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "RCC",
}],
afio: None,
},
Peripheral {
name: "RTC",
address: 0x40002800,
registers: Some(PeripheralRegisters {
kind: "rtc",
version: "v1",
block: "RTC",
ir: &rtc::REGISTERS,
}),
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[
PeripheralInterrupt {
signal: "ALARM",
interrupt: "RTC_ALARM",
},
PeripheralInterrupt {
signal: "SSRU",
interrupt: "RTC",
},
PeripheralInterrupt {
signal: "STAMP",
interrupt: "RTC",
},
PeripheralInterrupt {
signal: "TAMP",
interrupt: "TAMPER",
},
PeripheralInterrupt {
signal: "WKUP",
interrupt: "RTC",
},
],
afio: None,
},
Peripheral {
name: "SPI1",
address: 0x40013000,
registers: Some(PeripheralRegisters {
kind: "spi",
version: "f1",
block: "SPI",
ir: &spi::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "SPI1EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "SPI1RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA15",
signal: "NSS",
af: None,
},
PeripheralPin {
pin: "PA4",
signal: "NSS",
af: None,
},
PeripheralPin {
pin: "PA5",
signal: "SCK",
af: None,
},
PeripheralPin {
pin: "PA6",
signal: "MISO",
af: None,
},
PeripheralPin {
pin: "PA7",
signal: "MOSI",
af: None,
},
PeripheralPin {
pin: "PB3",
signal: "SCK",
af: None,
},
PeripheralPin {
pin: "PB4",
signal: "MISO",
af: None,
},
PeripheralPin {
pin: "PB5",
signal: "MOSI",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "RX",
channel: Some("DMA1_CH2"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "TX",
channel: Some("DMA1_CH3"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "SPI1",
}],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "SPI1_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PA4", "PA5", "PA6", "PA7"],
},
PeripheralAfioValue {
value: 1,
pins: &["PA15", "PB3", "PB4", "PB5"],
},
],
}),
},
Peripheral {
name: "TIM2",
address: 0x40000000,
registers: Some(PeripheralRegisters {
kind: "timer",
version: "v1",
block: "TIM_GP16",
ir: &timer::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1_TIM"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "TIM2EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "TIM2RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA0",
signal: "CH1",
af: None,
},
PeripheralPin {
pin: "PA0",
signal: "ETR",
af: None,
},
PeripheralPin {
pin: "PA1",
signal: "CH2",
af: None,
},
PeripheralPin {
pin: "PA15",
signal: "CH1",
af: None,
},
PeripheralPin {
pin: "PA15",
signal: "ETR",
af: None,
},
PeripheralPin {
pin: "PA2",
signal: "CH3",
af: None,
},
PeripheralPin {
pin: "PA3",
signal: "CH4",
af: None,
},
PeripheralPin {
pin: "PB3",
signal: "CH2",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "CH3",
channel: Some("DMA1_CH1"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "UP",
channel: Some("DMA1_CH2"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "CH1",
channel: Some("DMA1_CH5"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "CH2",
channel: Some("DMA1_CH7"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "CH4",
channel: Some("DMA1_CH7"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[
PeripheralInterrupt {
signal: "BRK",
interrupt: "TIM2",
},
PeripheralInterrupt {
signal: "CC",
interrupt: "TIM2",
},
PeripheralInterrupt {
signal: "COM",
interrupt: "TIM2",
},
PeripheralInterrupt {
signal: "TRG",
interrupt: "TIM2",
},
PeripheralInterrupt {
signal: "UP",
interrupt: "TIM2",
},
],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "TIM2_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PA0", "PA1", "PA2", "PA3"],
},
PeripheralAfioValue {
value: 1,
pins: &["PA15", "PB3", "PA2", "PA3"],
},
PeripheralAfioValue {
value: 2,
pins: &["PA0", "PA1", "PB10", "PB11"],
},
PeripheralAfioValue {
value: 3,
pins: &["PA15", "PB3", "PB10", "PB11"],
},
],
}),
},
Peripheral {
name: "TIM3",
address: 0x40000400,
registers: Some(PeripheralRegisters {
kind: "timer",
version: "v1",
block: "TIM_GP16",
ir: &timer::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1_TIM"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "TIM3EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "TIM3RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA6",
signal: "CH1",
af: None,
},
PeripheralPin {
pin: "PA7",
signal: "CH2",
af: None,
},
PeripheralPin {
pin: "PB0",
signal: "CH3",
af: None,
},
PeripheralPin {
pin: "PB1",
signal: "CH4",
af: None,
},
PeripheralPin {
pin: "PB4",
signal: "CH1",
af: None,
},
PeripheralPin {
pin: "PB5",
signal: "CH2",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "CH3",
channel: Some("DMA1_CH2"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "CH4",
channel: Some("DMA1_CH3"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "UP",
channel: Some("DMA1_CH3"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "CH1",
channel: Some("DMA1_CH6"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "TRIG",
channel: Some("DMA1_CH6"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[
PeripheralInterrupt {
signal: "BRK",
interrupt: "TIM3",
},
PeripheralInterrupt {
signal: "CC",
interrupt: "TIM3",
},
PeripheralInterrupt {
signal: "COM",
interrupt: "TIM3",
},
PeripheralInterrupt {
signal: "TRG",
interrupt: "TIM3",
},
PeripheralInterrupt {
signal: "UP",
interrupt: "TIM3",
},
],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "TIM3_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PD2", "PA6", "PA7", "PB0", "PB1"],
},
PeripheralAfioValue {
value: 2,
pins: &["PD2", "PB4", "PB5", "PB0", "PB1"],
},
PeripheralAfioValue {
value: 3,
pins: &["PD2", "PC6", "PC7", "PC8", "PC9"],
},
],
}),
},
Peripheral {
name: "UID",
address: 0x1ffff7e8,
registers: Some(PeripheralRegisters {
kind: "uid",
version: "v1",
block: "UID",
ir: &uid::REGISTERS,
}),
rcc: None,
pins: &[],
dma_channels: &[],
interrupts: &[],
afio: None,
},
Peripheral {
name: "USART1",
address: 0x40013800,
registers: Some(PeripheralRegisters {
kind: "usart",
version: "v1",
block: "USART",
ir: &usart::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK2",
kernel_clock: Clock("PCLK2"),
enable: Some(PeripheralRccRegister {
register: "APB2ENR",
field: "USART1EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB2RSTR",
field: "USART1RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA10",
signal: "RX",
af: None,
},
PeripheralPin {
pin: "PA11",
signal: "CTS",
af: None,
},
PeripheralPin {
pin: "PA12",
signal: "RTS",
af: None,
},
PeripheralPin {
pin: "PA8",
signal: "CK",
af: None,
},
PeripheralPin {
pin: "PA9",
signal: "TX",
af: None,
},
PeripheralPin {
pin: "PB6",
signal: "TX",
af: None,
},
PeripheralPin {
pin: "PB7",
signal: "RX",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "TX",
channel: Some("DMA1_CH4"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "RX",
channel: Some("DMA1_CH5"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "USART1",
}],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "USART1_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PA11", "PA12", "PA8", "PA9", "PA10"],
},
PeripheralAfioValue {
value: 1,
pins: &["PA11", "PA12", "PA8", "PB6", "PB7"],
},
],
}),
},
Peripheral {
name: "USART2",
address: 0x40004400,
registers: Some(PeripheralRegisters {
kind: "usart",
version: "v1",
block: "USART",
ir: &usart::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "USART2EN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "USART2RST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[
PeripheralPin {
pin: "PA0",
signal: "CTS",
af: None,
},
PeripheralPin {
pin: "PA1",
signal: "RTS",
af: None,
},
PeripheralPin {
pin: "PA2",
signal: "TX",
af: None,
},
PeripheralPin {
pin: "PA3",
signal: "RX",
af: None,
},
PeripheralPin {
pin: "PA4",
signal: "CK",
af: None,
},
],
dma_channels: &[
PeripheralDmaChannel {
signal: "RX",
channel: Some("DMA1_CH6"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
PeripheralDmaChannel {
signal: "TX",
channel: Some("DMA1_CH7"),
dmamux: None,
remap: &[],
dma: None,
request: None,
},
],
interrupts: &[PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "USART2",
}],
afio: Some(PeripheralAfio {
register: "MAPR",
field: "USART2_REMAP",
values: &[
PeripheralAfioValue {
value: 0,
pins: &["PA0", "PA1", "PA2", "PA3", "PA4"],
},
PeripheralAfioValue {
value: 1,
pins: &["PD3", "PD4", "PD5", "PD6", "PD7"],
},
],
}),
},
Peripheral {
name: "WWDG",
address: 0x40002c00,
registers: Some(PeripheralRegisters {
kind: "wwdg",
version: "v1",
block: "WWDG",
ir: &wwdg::REGISTERS,
}),
rcc: Some(PeripheralRcc {
bus_clock: "PCLK1",
kernel_clock: Clock("PCLK1"),
enable: Some(PeripheralRccRegister {
register: "APB1ENR",
field: "WWDGEN",
}),
reset: Some(PeripheralRccRegister {
register: "APB1RSTR",
field: "WWDGRST",
}),
stop_mode: StopMode::Stop1,
}),
pins: &[],
dma_channels: &[],
interrupts: &[
PeripheralInterrupt {
signal: "GLOBAL",
interrupt: "WWDG",
},
PeripheralInterrupt {
signal: "RST",
interrupt: "WWDG",
},
],
afio: None,
},
];
pub(crate) static INTERRUPTS: &[Interrupt] = &[
Interrupt {
name: "WWDG",
number: 0,
},
Interrupt { name: "PVD", number: 1 },
Interrupt {
name: "TAMPER",
number: 2,
},
Interrupt { name: "RTC", number: 3 },
Interrupt {
name: "FLASH",
number: 4,
},
Interrupt { name: "RCC", number: 5 },
Interrupt {
name: "EXTI0",
number: 6,
},
Interrupt {
name: "EXTI1",
number: 7,
},
Interrupt {
name: "EXTI2",
number: 8,
},
Interrupt {
name: "EXTI3",
number: 9,
},
Interrupt {
name: "EXTI4",
number: 10,
},
Interrupt {
name: "DMA1_CHANNEL1",
number: 11,
},
Interrupt {
name: "DMA1_CHANNEL2",
number: 12,
},
Interrupt {
name: "DMA1_CHANNEL3",
number: 13,
},
Interrupt {
name: "DMA1_CHANNEL4",
number: 14,
},
Interrupt {
name: "DMA1_CHANNEL5",
number: 15,
},
Interrupt {
name: "DMA1_CHANNEL6",
number: 16,
},
Interrupt {
name: "DMA1_CHANNEL7",
number: 17,
},
Interrupt {
name: "ADC1",
number: 18,
},
Interrupt {
name: "EXTI9_5",
number: 23,
},
Interrupt {
name: "TIM2",
number: 28,
},
Interrupt {
name: "TIM3",
number: 29,
},
Interrupt {
name: "I2C1_EV",
number: 31,
},
Interrupt {
name: "I2C1_ER",
number: 32,
},
Interrupt {
name: "SPI1",
number: 35,
},
Interrupt {
name: "USART1",
number: 37,
},
Interrupt {
name: "USART2",
number: 38,
},
Interrupt {
name: "EXTI15_10",
number: 40,
},
Interrupt {
name: "RTC_ALARM",
number: 41,
},
];
pub(crate) static DMA_CHANNELS: &[DmaChannel] = &[
DmaChannel {
name: "DMA1_CH1",
dma: "DMA1",
channel: 0,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH2",
dma: "DMA1",
channel: 1,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH3",
dma: "DMA1",
channel: 2,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH4",
dma: "DMA1",
channel: 3,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH5",
dma: "DMA1",
channel: 4,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH6",
dma: "DMA1",
channel: 5,
dmamux: None,
dmamux_channel: None,
},
DmaChannel {
name: "DMA1_CH7",
dma: "DMA1",
channel: 6,
dmamux: None,
dmamux_channel: None,
},
];
pub(crate) static PINS: &[Pin] = &[
Pin { name: "PA0" },
Pin { name: "PA1" },
Pin { name: "PA2" },
Pin { name: "PA3" },
Pin { name: "PA4" },
Pin { name: "PA5" },
Pin { name: "PA6" },
Pin { name: "PA7" },
Pin { name: "PA8" },
Pin { name: "PA9" },
Pin { name: "PA10" },
Pin { name: "PA11" },
Pin { name: "PA12" },
Pin { name: "PA13" },
Pin { name: "PA14" },
Pin { name: "PA15" },
Pin { name: "PB0" },
Pin { name: "PB1" },
Pin { name: "PB2" },
Pin { name: "PB3" },
Pin { name: "PB4" },
Pin { name: "PB5" },
Pin { name: "PB6" },
Pin { name: "PB7" },
Pin { name: "PD0" },
Pin { name: "PD1" },
];
#[path = "../registers/adc_f1.rs"]
pub mod adc;
#[path = "../registers/afio_f1.rs"]
pub mod afio;
#[path = "../registers/bdma_v1.rs"]
pub mod bdma;
#[path = "../registers/bkp_v1.rs"]
pub mod bkp;
#[path = "../registers/crc_v1.rs"]
pub mod crc;
#[path = "../registers/dbgmcu_f1.rs"]
pub mod dbgmcu;
#[path = "../registers/exti_v1.rs"]
pub mod exti;
#[path = "../registers/flash_f1.rs"]
pub mod flash;
#[path = "../registers/gpio_v1.rs"]
pub mod gpio;
#[path = "../registers/i2c_v1.rs"]
pub mod i2c;
#[path = "../registers/iwdg_v1.rs"]
pub mod iwdg;
#[path = "../registers/pwr_f1.rs"]
pub mod pwr;
#[path = "../registers/rcc_f1.rs"]
pub mod rcc;
#[path = "../registers/rtc_v1.rs"]
pub mod rtc;
#[path = "../registers/spi_f1.rs"]
pub mod spi;
#[path = "../registers/timer_v1.rs"]
pub mod timer;
#[path = "../registers/uid_v1.rs"]
pub mod uid;
#[path = "../registers/usart_v1.rs"]
pub mod usart;
#[path = "../registers/wwdg_v1.rs"]
pub mod wwdg;